
어노테이션을 이용하여 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로
바꿔서 사용할 수 있기 때문에
유지보수성이 엄청나다는 장점이 있다!
'Spring' 카테고리의 다른 글
[ 관점지향 프로그래밍 ] AOP ( xml설정 - JointPoint ) (0) | 2022.09.16 |
---|---|
[ 관전지향 프로그래밍 ] AOP (xml설정 ) (0) | 2022.09.15 |
[ 제어의 역행 ] IoC - 어노테이션 (0) | 2022.09.14 |
[ 제어의 역핵 ] IoC - Setter 인젝션 (0) | 2022.09.14 |
[ 제어의 역행 ] IoC - 생성자 인젝션 (0) | 2022.09.14 |