Back/Spring
Spring Bean Life Cycle
호비시
2022. 6. 12. 09:00
Bean 은 Spring Container에 의해 생명주기가 관리된다.
- Container 시작
- Bean 인스턴스화
- Dependenceis Injection 의존성 주입
- Custom Init Method
- Custom Destory Method
- END
1, 2 ,3 과정을 통해 Bean 이 Container에 등록되고 Bean을 사용 할 수 있게 된다.
4 에서 우리가 만든 메소드에서 빈을 이용할 수 있고
5 우리의 프로그램이 끝나게 되면 Bean 의 LifeCycle도 끝나게된다.
Bean Lifecycle 을 고려하지 않고 Bean을 등록해놓고 @Autowired로 주입받아 사용하다 보면 아직 등록하지 않은 Bean들을 사용 할 수 없다는 메시지를 받는다고한다.
스프링이 알아서 순서를 바꿔 참조되는 Bean을 먼저 생성해주기 때문에 스프링에선 문제가 되지 않는다
만약 Bean 생성순서가 뒤바뀌어서 로직에 문제가 생긴다면
@PostConstruct
어노테이션을 사용Bean이 완전히 주입된 후에 작동하도록 하여 해결할 수 있다.