발생한 문제 :

2011. 3. 18 오전 11:06:54 org.springframework.context.support.AbstractApplicationContext prepareRefresh
정보: Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@2626d4f1: startup date [Fri Mar 18 11:06:54 KST 2011]; root of context hierarchy
Exception in thread "main" java.lang.IllegalStateException: CGLIB is required to process @Configuration classes. Either add CGLIB to the classpath or remove the following @Configuration bean definitions: [daoFactory]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:229)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:160)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:663)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:602)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:407)
at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:65)
at springbook.user.dao.DaoTest.main(DaoTest.java:12)

찾아봤다.
찾은 페이지 : http://www.roseindia.net/spring/spring3/spring-cglib.shtml 
스프링 3.0 배포판에는 CGLIB 가 포함되어 있지 않다고 한다. 그래서 CGLIB를 추가한다.
관련 페이지 : http://cglib.sourceforge.net/
Download에서 cglib를 추가하면 된다.

추가해야할 항목 :
- cglib-2.1_3.jar
- cglib-nodep-2.1_3.jar

를 받으면 된다고 하더니 안되더이다...

2011. 3. 18 오후 12:15:46 org.springframework.context.support.AbstractApplicationContext prepareRefresh
정보: Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@2626d4f1: startup date [Fri Mar 18 12:15:46 KST 2011]; root of context hierarchy
Exception in thread "main" java.lang.IllegalStateException: Cannot load configuration class: springbook.user.dao.DaoFactory
at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:246)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:160)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:663)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:602)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:407)
at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:65)
at springbook.user.dao.DaoTest.main(DaoTest.java:12)
Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/Type
at net.sf.cglib.core.TypeUtils.parseType(TypeUtils.java:180)
at net.sf.cglib.core.KeyFactory.<clinit>(KeyFactory.java:66)
at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)
at org.springframework.context.annotation.ConfigurationClassEnhancer.newEnhancer(ConfigurationClassEnhancer.java:101)
at org.springframework.context.annotation.ConfigurationClassEnhancer.enhance(ConfigurationClassEnhancer.java:89)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:238)
... 6 more
Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type <-- 요놈 계속 발생....
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 12 more

그래서 현재 참고 하고 있는 교재의 라이브러리르 추가하니 한번에 된다. 뭐지?

 를 추가하니 해결...되었다.

2011. 3. 18 오후 12:17:10 org.springframework.context.support.AbstractApplicationContext prepareRefresh
정보: Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@2626d4f1: startup date [Fri Mar 18 12:17:10 KST 2011]; root of context hierarchy
2011. 3. 18 오후 12:17:10 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
정보: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@6db3f829: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,daoFactory,userDao,connectionMaker]; root of factory hierarchy
honeymon2 등록성공
honeymon2
김지헌
solo
honeymon2 조회 성공

뭐지? 공통쪽에서 사용하는 CGLIB와 스프링에서 사용하는 CGLIB가 서로 다른 것일까?

'Java > Framework & Libs' 카테고리의 다른 글

인터페이스를 두고 DI를 적용해야 하는 이유  (0) 2011.03.29
Maven 기본 Phase 와 Goal의 관계  (0) 2011.03.25
POJO(Plain Old Java Object)  (0) 2011.03.15
Jakarta Project  (0) 2011.03.15
프레임워크 Vs. 라이브러리  (0) 2011.02.22

+ Recent posts