Section 1. Annotation 객체 DI
1. Spring Annotation
2. context: annotation-config
- Annotation 사용하기 위해 context.xsd 파일을 불러옴
![](https://velog.velcdn.com/images%2Fcodren%2Fpost%2F5b01a98a-1e4b-4af1-8472-431c91605444%2Fimage.png)
3. Annotation 객체 DI
- IOC 컨테이너에 존재하는 객체중에 참조 가능한 객체를 자동으로 찾아서 DI, 여러개면 id 속성으로 구분
- setter DI 는 추가적으로 특정 코드를 수행하고 싶을 때 사용하면 됨
- service 객체를 멤버변수로 갖는 listcontroller 에서 setter DI 또는 멤버변수 DI 를 통해 DI 수행
![](https://velog.velcdn.com/images%2Fcodren%2Fpost%2F808b1855-22d3-46b1-993a-b5c54768921d%2Fimage.png)
- 오라클 연결 정보를 담고있는 DataSource 객체를 멤버변수로 갖는 noticeService 에서 멤버변수로 DI
![](https://velog.velcdn.com/images%2Fcodren%2Fpost%2Fb78453bd-7164-4315-aeda-f47c561d2f28%2Fimage.png)
Section 2. Annotation 객체 생성
1. Annotation 객체 생성
- IOC 컨테이너에 담을 객체를 생성할 수 있도록 지정하는 @Component Annotation 지정
![](https://velog.velcdn.com/images%2Fcodren%2Fpost%2F244dd66a-e58e-4b98-8944-2f8af1de47d4%2Fimage.png)
2. component scan
- @Component 지정된 객체를 탐색하도록 component scan 태그를 이용한 뒤 경로 지정
- <context:annotation-config/> 기능도 포함하므로 기존 것 제거 가능
![](https://velog.velcdn.com/images%2Fcodren%2Fpost%2F69c6575b-51a1-46e6-b17e-70bbd57529cc%2Fimage.png)
3. Component 객체의 특정화
- DB 관련 service 객체이므로 @Service 어노테이션을 사용
![](https://velog.velcdn.com/images%2Fcodren%2Fpost%2Fde1055cb-007a-4ee6-94d1-28595933188b%2Fimage.png)