.xml (설정파일)의 단점
-결합도를 낮추고 유지보수성을 높이기 위해 xml로 설정했으나 xml이 많아지면 설정할 것이 많아져 오히려 유지보수성이 낮아진다.
*해결법: 어노테이션 사용!
-시스템 전체에 영향을 주고 이후에 변경가능성이 있는것은 xml로 설정한다.
[어노테이션]
서블릿 컨테이너(톰캣)가 언제 이 객체를 생성하고 호출할 지를 파악 할 수 있게 된다.
@이 설정파일의 역할을 수행하고 있었음을 짐작할 수 있다.
컴파일, 런타임시에 반영된다.
-사용방법
1. applicationContext -> namspace -> context 체크
2. <context:component-scan base-package="스프링 컨테이너가 참조해야하는 패키지명 작성"/>
-어노테이션 종류
@Component
@Component Annotation이 있는 클래스에 대하여 bean 인스턴스를 생성한다.
@Service, @Repository
ex)shaep: circle, rect, triangle 같이 @Component를 사용법에 따라 분류한 것이 @Service, @Repository
해당 클래스가 Service, Repository로 사용됨을 Spring Framework에 알린다
@Autowired
멤버변수, 메서드 모두 사용가능 + 해당 멤버변수의 타입만으로 주입가능하다
1) 대상의 타입을 확인
2) 스프링 컨테이너가 가지고 있는 객체를 확인
해당 타입이 메모리에 존재하는지 확인 (new를 했는가)
3) 주입
-> 모호성 이슈 존재: 리모컨이 2개이상일 때 뭐를 써야하는가!
@Qualifier
DI될 객체의 이름으로 확인
'Spring > Spring' 카테고리의 다른 글
day64) Spring-Controller설계1 (0) | 2022.03.31 |
---|---|
day62) Spring - Model 설계 (0) | 2022.03.30 |
day61) 생성자 injection, setter injection (0) | 2022.03.29 |
day61) applicationContext.xml로 객체 생성하기 (0) | 2022.03.29 |
day61) 스프링 프레임워크란? (0) | 2022.03.29 |
댓글