본문 바로가기

스프링 컨테이너

(2)
@Configuration의 싱글톤 보장 스프링을 배우면 "스프링이 ~하게 관리해준다."와 같이 뭘 알아서 해준다는 것을 많이 들어봤을 것이다. 필자는 '스프링이 알아서 다 해준다고?? 어떻게??' 라는 의문점이 있었다. 뭐 스카이캐슬에 김주영쌤 같은 느낌 하지만 @Configuration 을 배우면서 어떤 식으로 스프링이 관리해준다는 말의 의미를 깨닫게 되었다. 앞으로 이어질 @Configuration에 대한 내용을 통해 독자도 필자와 같은 깨달음을 이해할 수 있길.. @Configuration 을 적용한 AppConfig에는 놀라운 비밀이 있다. @Configuration 을 붙이면 바이트코드를 조작하는 CGLIB 기술을 사용해서 싱글톤을 보장한다. 사실 개발자가 AppConfig라는 설정 정보를 입력하더라도 @Configuration 을 ..
스프링 컨테이너와 스프링 빈 스프링 컨테이너란? : 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공하는 역할 스프링 빈이란? : 자바 객체를 스프링에서는 빈(Bean)이라고 부름 컨테이너와 빈이라는 걸 계속 개념 정리는 해왔지만 확 와닿지 않는다. 컨테이너가 뭐지?.. 공사장 근처에 있는 회색 컨테이너가 생각난다.빈?? 원빈인가?ㅋㅋ 다음 스프링 컨테이너를 생성하는 과정을 통해 개념을 더 잘 이해해보도록 하자! ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); 위의 코드는 스프링 컨테이너를 생성하는 코드인데 여기서 ApplicationContext 를 '스프링 컨테이너'라 한다...