Spring의 탄생과 철학에 대해
스프링 컨테이너 스프링 컨테이너는 무엇을 말하는가? BeanFactory와 ApplicationContext를 말한다. 사실은 BeanFactory를 말하는 거긴 하지만 ApplicationContext도 스프링 컨테이너라고 한다. 그 이유가 뭘까? ApplicationContext는 인터페이스를 다중 상속 받는데 그 중 하나가 BeanFactory...
Config 파일의 탄생 스프링 개요에서 설명했던 EJB에 불편함을 느끼고, 로드 존슨(Rod Johnson)이 2002년 출간한 책, Expert One-on-One J2EE Design and Developement에 나온 3만줄의 예제 코드를 사용하던 시절로 돌아가보자. 그 시절 개발자들은 3만 줄의 코드를 참고하며 config 파일을 직접 만들어...
다양한 의존관계 주입 방법 스프링은 빈을 쭉 등록한 다음 의존관계 주입을 쭉 진행한다. 이렇게 두 가지 라이프사이클로 진행된다. 스프링 빈을 생성하는 단계와 의존관계를 주입하는 단계. 생성자 주입만 빈을 등록하면서 의존관계 주입도 같이 일어난다. 다른 주입은 두번째 단계에서 의존관계 주입이 일어난다. 생성자 주입 생성자 호출 시점에 딱 1번만 호...
빈에도 생명주기가 존재한다. 빈이 동작하는 동안 우리는 원하는 시점에 원하는 코드를 넣고싶을 경우가 반드시 있다. 또한 빈의 스코프에 따라 특정 시점부터 그 시점이 끝날 때 까지만 존재하도록 할 수 있다. 빈의 생명주기 콜백 스프링 빈의 이벤트 라이프사이클은 다음과 같다. 스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 ...