스프링 bean 등록은 @Configuration 하게 되면 lite mode가 아니고, @Component에서 하게 되면 lite mode로 동작하게 된다. 말보다는 코드로... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 @Slf4j //@Configuration(proxyBeanMethods = true) // proxyBeanMethods = false & @Component is lite mode. @Configuration (proxyBeanMethods = false ) //@Component public class TestConfig { @Bean public MyHello myHello () { return new MyHello ( "ok?" ); } @Bean public MyHelloWrapper myHelloWrapper () { MyHello m = myHello(); log. info ( "In MyHelloWrapper, myHello #1={}" , m); log. info ( "In MyHelloWrapper, myHello #2={}" , myHello()); log. info ( "In MyHelloWrapper, myHello #3={}" , myHello()); return new MyHelloWrapper (m); } } @Configuration의 default는 proxyBeanMethods = true이다. 이때는 gclib을 이용해 bean을 singleton으로 관리하는 proxy를 생성 한다. 그래서 15, 16, 17 line의 object reference가 모두 동일하게 나오는 것을 확인 할 수...