[Spring 개념] context:component-scan에 관하여
위의 사진을 보면 BoardServiceClient의 BoardService boardService = (BoardService) container.getBean("boardService");에서 boardService를 호출하고있다.
boardService는 applicationContext.xml에 있으며, 아래 사진에서 해당 코드의 내용을 확인할 수 있다.
그런데 특이한 점은 사진 어디에서도 boardService를 찾을 수 없다는 것이다.
그렇다면 어떻게 실행이 되는 것일까?
해당 부분의 해답은 아래 두 사진에서 확인할 수 있다.
실행되는 순서는 아래와 같다.
1. BoardServiceClient를 실행하면
2. applicationContext.xml에서
3. context:component-scan에서 scan이 진행된다.
4. 스캔을 하면서 @(어노테이션)Service("boardService")로 동일한 이름의 컴포넌트를 찾는다.
5. 그렇기 때문에 applicationContext.xml에 boardService가 없어도 스캔으로 컴포넌트된 클래스를 찾아서 BoardServiceClient에서 호출할 수 있게되는 것이다.
'Spring Framework > Spring 개념' 카테고리의 다른 글
[마이바티스] SQL 동적 처리 (0) | 2021.04.08 |
---|---|
[스프링 개념] JdbcTemplate으로 list와 SQL method 값을 함께 전달하기. (0) | 2021.04.08 |
[스프링 개념] 스프링 Project import/export 방법(1) (0) | 2021.04.08 |
[스프링 개념] @ModelAttribute의 값이 list로 넘어가질 않을 때 (0) | 2021.04.08 |
[Spring 개념] database.properties에 Oracle Driver 추가 (0) | 2021.04.08 |
[Spring 개념] @Autowired는 메소드 안에 사용할 수 없다. (0) | 2021.04.08 |
[Spring 개념] 데이터베이스 연결을 위해서는 DB Driver를 추가해야 한다. (0) | 2021.04.08 |
[Spring 개념] @Autowired 어노테이션 (0) | 2021.04.08 |