PSA 18

006. 스프링을 통한 의존성 주입 - @Autowired vs @Resource vs <property>

지난 강좌 딱 한달 + 10일이 지났군요. 한달 10일 기념 이벤트성 글은 아니고요. 바로 이전 강좌 댓글 7개!!! 오오.. 행운의 세븐 기념 이벤트성 글입니다. ^^ @Autowired 와 @Resource 어너테이션은 이전 강좌에서 보신 대로 두 객체 사이에 의존성을 해결해 주는 완소 존재입니다. 이 둘을 살짝 비교해보도록 하겠습니다. @Autowired @Resource 제공자 SpringFramework 표준 Java 소속 패키지 org.springframework .beans.factory.annotation .Autowired javax.annotation.Resource bean 검색 byType 먼저, 못 찾으면 byName byName 먼저, 못 찾으면 byType 특이사항 byName..

강좌/Spring 3.0 2013.01.17

005. 스프링을 통한 의존성 주입 - @Resource 를 통한 속성 주입

의사 코드 운전자가 종합 쇼핑몰에서 자동차를 구매 요청한다. 종합 쇼핑몰은 자동차를 생산한다. 종합 쇼핑몰은 타이어를 생산한다. 종합 쇼핑몰은 자동차에 타이어를 장착한다. 종합 쇼핑몰은 운전자에게 자동차를 전달한다. 흠흠 의사 코드를 보죠. 이전 강좌와 동일합니다. (기시감이랄까.. 데자뷰랄까.. 뭐 그런게 느껴지시나요? 뭐 그럴 수도 있죠 ^^;) 지난 번 강좌에서는 @Autowired 를 통한 속성을 주입했었는데요. 자동으로 묶어준다는 의미 보다 더 직관적인 말은 없을까요? 자동차에게 있어 타이어는 재료(?) 또는 자원(?), 부품이라고 할 수 있겠네요. 그리하여 이제부터는 Autowired 라는 표현 대신 Resource 라는 표현을 쓰도록 하겠습니다. 따라서 변경되는 부분은 @Autowired 부..

강좌/Spring 3.0 2012.12.07

004. 스프링을 통한 의존성 주입 - @Autowired 를 통한 속성 주입

000 ~ 005 STS 프로젝트 파일: 의사 코드 운전자가 종합 쇼핑몰에서 자동차를 구매 요청한다. 종합 쇼핑몰은 자동차를 생산한다. 종합 쇼핑몰은 타이어를 생산한다. 종합 쇼핑몰은 자동차에 타이어를 장착한다. 종합 쇼핑몰은 운전자에게 자동차를 전달한다. 흠흠 의사 코드를 보죠. 이전 강좌와 동일합니다. 여기서 질문입니다. 여러분은 프로그래머의 3대 스킬을 아시나요? 1. C&P : Copy & Paste / 복사 & 붙이기 2. D&C : Divide & Conquer / 분할 & 정복 3. C&i : Creative idleness / 창조적 게으름 특히 3번째 스킬은 진정한 고수들의 방법론이죠. 일례로 더 게으르고 싶어진 그루들께서 while 문으로 충분한 걸 for / for each / do ..

강좌/Spring 3.0 2012.11.27

003. 스프링을 통한 의존성 주입 - 스프링 설정 파일(xml)에서 속성 주입

000 ~ 005 STS 프로젝트 파일: ExpertSpring30.zip 의사 코드 - 점점 더 현실 세계를 닮아가고 있습니다. 운전자가 종합 쇼핑몰에서 자동차를 구매 요청한다. 종합 쇼핑몰은 자동차를 생산한다. 종합 쇼핑몰은 타이어를 생산한다. 종합 쇼핑몰은 자동차에 타이어를 장착한다. 종합 쇼핑몰은 운전자에게 자동차를 전달한다. Java 로 표현 ApplicationContext context = new FileSystemXmlApplicationContext("/src/main/java/expert003/expert.xml"); Car car = (Car)context.getBean("car"); XML 로 표현 클래스 다이어그램은 3회째 변화가 없습니다. 그러므로 처음으로 패스해 봅니다. 시퀀스..

강좌/Spring 3.0 2012.11.19

002. 스프링을 통한 의존성 주입 - XML 파일 사용

000 ~ 005 STS 프로젝트 파일: ExpertSpring30.zip 의사 코드 운전자가 종합 쇼핑몰에서 타이어를 구매한다. 운전자가 종합 쇼핑몰에서 자동차를 구매한다. 운전자가 자동차에 타이어를 장착한다. Java 로 표현 - 속성 메서드 사용 ApplicationContext context = new FileSystemXmlApplicationContext("/src/main/java/expert002/expert.xml"); Tire tire = (Tire)context.getBean("tire"); Car car = (Car)context.getBean("car"); car.setTire(tire); 자 이제 드디어 스프링을 통한 의존성 주입을 구현해 보도록 하겠습니다. 스프링을 통한 의존성..

강좌/Spring 3.0 2012.11.19

001_03. 스프링 없이 의존성 주입 2 - 속성을 통한 의존성 주입

전체 강좌 프로젝트 파일: 의사 코드 운전자가 타이어를 생산한다. 운전자가 자동차를 생산한다. 운전자가 자동차에 타이어를 장착한다. Java 로 표현 - 속성 메서드 사용 Tire tire = new KoreaTire(); Car car = new Car(); car.setTire(tire); 지난 강좌에서 생성자를 통해서 의존성을 주입하는 코드를 작성해 보았습니다. 이번 강좌에서는 속성을 통해 의존성을 주입 해보도록 하겠습니다. 생성자를 통해 의존성을 주입하는 것을 다시 실세계의 예로 들어보면 자동차를 생산(구입)할 때 한번 타이어를 장착하면 더 이상 타이어를 교체 장착할 방법이 없습니다. 그러나 더 현실적인 방법으로 운전자가 원할 때 Car 의 Tire 를 교체하려면 생성자가 아닌 속성을 통한 의존성..

강좌/Spring 3.0 2012.11.18

001_02. 스프링 없이 의존성 주입 1 - 생성자를 통한 의존성 주입

000 ~ 005 STS 프로젝트 파일: 의사 코드 운전자가 타이어를 생산한다. 운전자가 자동차를 생산하며 타이어를 장착한다. Java 로 표현 - 생성자의 인자 이용 Tire tire = new KoreaTire(); Car car = new Car(tire); 주입이란? 주입이란 말은 외부에서라는 뜻을 내포하고 있는 단어입니다. 결국 자동차 내부에서 타이어를 생산하는 것이 아니라 외부에서 생산된 타이어를 자동차에 장착하는 작업이 주입입니다. 지난 강좌를 통해 의존성이란 무엇인지를 살펴보았습니다.지난 강좌에서 의존성을 해결한 시퀀스 다이어그램 다시 한 번 살펴보죠. Car 객체가 Tire 를 직접 생산하는, 즉 Tire 에 대한 의존성을 자체적으로 해결하는 방식이었습니다.이번에는 tire 객체를 생산하..

강좌/Spring 3.0 2012.11.18

001_01. 프로그래밍에서 의존성이란?

000 ~ 005 STS 프로젝트 파일: Spring DI (스프링 의존성 주입)을 알아보기 전에 의존성이란? 특히 프로그래밍에서 의존성이란? 무엇인지 알아보도록 하겠습니다. Java 에서의 의존성은 또 무엇인지도 알아보도록 하겠습니다. 의사 코드 운전자가 자동차를 생산한다. 자동차는 내부적으로 타이어를 생산한다. Java 로 표현 new Car(); Car 객체 생성자에서 new Tire(); 그리고 단순 무식하게 의존성이란? 의존성은 new 이다. new 를 실행하는 Car 와 Tire 사이에서 Car 가 Tire 에 의존한다고 합니다. 결론적으로 전체가 부분에 의존한다고 표현할 수 있습니다. 더 깊이 들어가면 의존하는 객체(전체)와 의존되는 객체(부분) 사이에 집합 관계(Aggregation)와 구..

강좌/Spring 3.0 2012.11.16
반응형