주니 개발 도서관

Spring

[ 제어의 역행 ] 어노테이션을 이용한 Model 관리

주니홍 2022. 9. 14. 17:45

어노테이션을 이용하여 Model 부분을 실무처럼 관리해 보자

 

 

패키지명의 의미

com.kim.biz.클래스명 = VO와 Interface를 넣는 패키지

com.kim.biz.클래스명.impl = DAO와 Serviceimlp를 넣는 패키지

com.kim.biz.common = JDACUtil을 넣는 패키지

 

** biz = 비지니스 즉, 비지니스클래스를 뜻함

** impl =  Implementation의 줄임말로 "구현"을 뜻함

 

아래와 같이 관리한다

 

 

 

어노테이션을 사용하기위해선 스캔범위를 지정해 주어야하는데

아래와 같이 범위를 지정해 준다

 

 

( applicationContext.xml )

 

 

com.kim.biz 경로아래로 지정되어있는 패키지는 모두 어노테이션을 사용할 수 있게 된다

 

어노테이션을 적용시켜 보자

 

 

( BoardDAO 클래스 )

 

실직적인 기능을 담당하는 DAO

 

@Repository 어노테이션

DAO 류에게 쓰는 어노테이션

 

장점
>> 기존의 Component는 객체구나~ 로 인식
>> Repository는 DAO류구나~ 로 인식하여 더 빠르게 찾음
메모리를 아낄수 있다  + 더 빠르게 찾을 수 있다

 

 

 

( BoardServiceimpl 클래스 )

 

사용자에게 제공하는 서비스 클래스

 

@Service 어노테이션

DAO류를 멤버변수로 가지고있는 클래스에게 사용하는 어노테이션

 

@Autowired 어노테이션

해당 멤버변수의 "타입 만"을 체크하여

메모리에 저장되어있는 같은 타입을 주입하는 어노테이션

>> DAO에서 @Repository 으로 메모리에 저장하여 주입하게 됨

 

@Service 어노테이션도 마찬가지로 기존의

 

@Component 보다 메모리를 더 아낄수 있고 빠르다는 장점이 있음

 

 


결과

 

더 진화된 ModelDAO를 적용 시킬때

 

어노테이션만 갈아끼우면

구버전 DAO를

진화된 DAO로

바꿔서 사용할 수 있기 때문에

 

유지보수성이 엄청나다는 장점이 있다!