본문 바로가기
Spring/Spring

day62) annotation 사용하기1 - Model관련

by code_learner 2022. 3. 30.

.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될 객체의 이름으로 확인

댓글