Spring @Bean에 대해서..

오늘은 Spring @Bean 어노테이션과 관련해서 이야기를 하려한다. 깊게 볼 것은 아니고 특이한 거나 잘 몰랐던거? 알지만 해보지 않았던거? 그런것들을 알아볼 예정이니 그냥 이렇구나 정도만 알면 되겠다. 자주 사용될 일도 없으니 한번씩만 훑고 지나가면 될 것 같다. 요즘 회사를 이직준비 중이라 회사 다닐때 보다 더 바쁘고 스트레스 받는 것 같다.ㅠㅠ 아무튼 한번 알아보자. Interface 버전은 언제인지 잘 모르겠는데 Interface에도 @Bean 어노테이션을 작성해도 동작한다. 아마 4.x부터 됐을 것으로 예상해보지만 그게 언제인지는 확인해보지.. Read More

ImportSelector 와 ImportBeanDefinitionRegistrar

오늘은 Spring의 설정과 관련된 이야기를 해볼 예정이다. Spring 에서는 설정 정보들을 커스텀하고 좀 더 확장성 있게 변경할 수 있는 방법들을 제공한다. 그 중에 ImportAware, ImportSelector, ImportBeanDefinitionRegistrar 인터페이스가 있는데 ImportAware는 간단하고 저번에 포스팅한 부분이 있어서 제외 하고 오늘은 ImportSelector와 ImportBeanDefinitionRegistrar 대해서 알아보도록 하자. ImportSelector @Enable* 어노테이션으로 우리는 (Enable* 을 모른다면 다른 글들을 참고하거나 예전에 포스팅한 글이 있으니 참고하면 되겠다) 필요에 따라 미리 설정한 설정정보들을 확장하거나 변경할 수 있었다. @Enable* 어노테이션은 @Configuration.. Read More

Spring bean LifeCycle

오늘은 Spring의 Bean 메서드 생명주기에 대해서 알아보자. Spring의 Bean 메서드 생명주기는 여러방법으로 초기화 및 제거를 할 수 있는데 그 방법에 대해서 알아보고 어떠한 생명주기를 갖는지도 알아보자. 초기화 메서드 초기화 메서드는 빈 Object가 생성되고 DI 작업까지 마친다음 실행되는 메서드이다. 기본적으로 Object의 초기화작업은 생성자에서 진행하지만 DI를 통해 빈이 주입된 후에 초기화할 작업이 있으면 초기화 메서드를 이용해서 초기화를 진행하면 된다. InitializingBean Spring에 기본적으로 제공해주는 InitializingBean 인터페이스를 이용해서 초기화 작업을 할 수 있다. @Service.. Read More