의사 코드
종합 쇼핑몰은 자동차를 생산한다.
종합 쇼핑몰은 타이어를 생산한다.
종합 쇼핑몰은 자동차에 타이어를 장착한다.
종합 쇼핑몰은 운전자에게 자동차를 전달한다.
흠흠 의사 코드를 보죠. 이전 강좌와 동일합니다.
(기시감이랄까.. 데자뷰랄까.. 뭐 그런게 느껴지시나요? 뭐 그럴 수도 있죠 ^^;)
지난 번 강좌에서는 @Autowired 를 통한 속성을 주입했었는데요.
자동으로 묶어준다는 의미 보다 더 직관적인 말은 없을까요?
자동차에게 있어 타이어는 재료(?) 또는 자원(?), 부품이라고 할 수 있겠네요.
그리하여 이제부터는 Autowired 라는 표현 대신 Resource 라는 표현을 쓰도록 하겠습니다.
따라서 변경되는 부분은 @Autowired 부분뿐입니다.
import javax.annotation.Resource;
public class Car {
@Resource
Tire tire;
public String getTireBrand() {
return "장착된 타이어: " + tire.getBrand();
}
}
나머지 소스는 역시 package 가 expert005 로 변경되었을 뿐 동일합니다.
그럼 @Autowired 하면 될 것을 왜 굳이 @Resource 로 변경하였느냐라고 물으신다면 조금 더 구체화 시킨다고 답을 드릴 수 밖에 없겠네요.
사실 @Resouce 말고도 @Autowired 할 수 있는 구체적인 것들이 있는데요. 차차 살펴보도록 하겠습니다.
그리고 혹시나 제 강좌 보시는 분 계신가요?
흠흠 댓글도 없고 반응도 없고... 그래서 강좌 접을라구요.
그냥 비공개로 제가 이해할 수 있는 수준 정도의 짧은 글로만 정리할까 합니다.
불특정 다수의 분들을 위해 쓰다보니 글 작성 시간이 너무 오래 걸리고 그래서 제 자신의 진도가 안 나가네요. 응원글이라도 있으면 뭐 힘 내서 해보겠지만..
어차피 일기처럼 혼자 볼 거라면...
이번 강좌 소스는 지난 강좌에 있는 소스를 다운 받으시면 됩니다.
그럼 마라나타...
사실을 말씀드리자면
@Autowired 는 Spring 만의 애너테이션입니다
@Resource 는 java 의 표준 애너테이션입니다.
고로 실전에서는 별반 차이가 없습니다.
차이점을 이해하려고 깊이 들어가봐야 실전에서 도움이 안 될 듯 합니다.
SpringFramework 를 사용하지 않는다면 @Resource 만을 사용하셔야겠죠.
더 살펴보시면
Srpingframework 에서 @Autowired 와 @Qualifer 의 조합된 사용,
그리고 java 애너테이션 표준인 JSR-250 / JSR-330 을 만나실 수 있습니다.
저한테 묻지 마세요. 저도 몰라요.. ^^;
P.S 토비님 책 10장의 10.2.3 빈 의존관계 설정 방법에 다 나옵니다.
토비님이 학습 테스트 늘 강조하시는데, 토비님 책 자체도 학습 테스트 하시면서 토비님 책 오류 찾아내기 게임에 도전해 보시는 건 ^^;
'강좌 > Spring 3.0' 카테고리의 다른 글
007. 의존성 주입 DI 초급 마무리 (47) | 2013.01.19 |
---|---|
006. 스프링을 통한 의존성 주입 - @Autowired vs @Resource vs <property> (37) | 2013.01.17 |
004. 스프링을 통한 의존성 주입 - @Autowired 를 통한 속성 주입 (31) | 2012.11.27 |
003. 스프링을 통한 의존성 주입 - 스프링 설정 파일(xml)에서 속성 주입 (2) | 2012.11.19 |
002. 스프링을 통한 의존성 주입 - XML 파일 사용 (24) | 2012.11.19 |