-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
세 가지 질문이 있습니다.
20.03.03 22:42 작성 조회수 151
0
1. 강의 예제에서 BookService와 BookRepository 둘 다 Bean으로 관리하도록 했습니다. BookRepository는 BookService에서 사용하므로 Bean으로 관리해야 할 것 같은데, BookService를 Bean으로 관리하는 이유가 있을까요?
2. 강의의 예제에서 @Autowired를 사용해 BookRepository에 빈 객체가 주입된 경우 @PostConstruct Annotation이 있는 메소드가 실행되는 건가요?
3. 만약 의존성을 여러 번 주입해야 한다면, @PostConstruct 이 설정된 메소드는 언제 실행되나요?
답변을 작성해보세요.
2
백기선
지식공유자2020.03.04
1. 다른 빈을 주입 받으려면 빈이어야 합니다.
2. 빈을 주입 받은 경우에 @PostConstruct를 쓸 수 있는게 아니라, 빈으로 등록이 되어 있으면 그 빈을 만들고 나서 @PostContstruct를 빈의 라이프사이클 콜백으로 생각하고 실행해 주는 겁니다.
3. 2에서 말씀 드린대로, 빈 주입에 대한 콜백이 아니라, 빈 생성에 관련된 라이프사이클이니 여러 빈을 주입 받더라고 상관없이, 빈이 만들어졌고, 다른 빈들 주입도 다 받은 다음에 실행해 줍니다.
답변 1