더북(TheBook)

3.8 정리

3장에서 스프링 코어와 IoC 전반에 대해 많은 내용을 살펴보았습니다. 각기 다른 IoC 방식의 예제를 소개하고 애플리케이션에서 각 메커니즘을 사용할 때의 장단점을 살펴봤습니다. 스프링이 제공하는 IoC 메커니즘과 애플리케이션 내에서 각각 어떤 IoC 메커니즘을 사용해야 하는지를 살펴봤습니다. IoC를 살펴보면서 스프링의 IoC 기능을 위한 핵심 컴포넌트인 스프링 BeanFactoryBeanFactory를 확장하고 추가 기능을 제공하는 ApplicationContext를 소개했습니다. ApplicationContext에 대해서는 XML을 사용해서 스프링의 외부 구성을 허용하는 GenericXmlApplicationContext를 중점적으로 살펴봤습니다. ApplicationContext에 대한 DI 요구사항을 선언하는 또 다른 방법인 자바 애너테이션을 사용하는 방법에 대해서도 자세히 알아보았습니다. AnnotationConfigApplicationContext와 자바 구성을 이용한 몇 가지 예제가 포함돼 있어서 이 방법을 이용해 천천히 빈을 구성할 수 있었습니다.

또한, 3장에서는 수정자 주입, 생성자 주입, 메서드 주입, 자동와이어링, 빈 상속을 포함해 스프링 IoC의 기본 기능을 소개했습니다. 구성에 대해 살펴보면서 XML 구성과 애너테이션 구성 방식 둘 다를 살펴봤으며 GenericXmlApplicationContext를 사용해서 다른 빈이 가진 프로퍼티를 포함시켜 다양한 값으로 빈 프로퍼티를 구성하는 방법을 알아보았습니다.

3장에서는 스프링과 스프링의 IoC 컨테이너의 겉면만을 살펴보았습니다. 다음 장에서는 스프링 IoC 관련 기능을 살펴보고, 스프링 코어에서 제공되는 다른 기능에 대해 자세히 살펴볼 것입니다.

 

 

1 역주 의존성 주입(Dependency Injection, DI)은 프로그래밍에서 구성요소 간의 의존 관계를 소스 코드 내부가 아닌 외부의 구성 파일 등으로 정의하는 디자인 패턴 중의 하나로 의존관계 주입으로 번역하기도 합니다.

 

2 예를 들어 http://forum.spring.io에 있는 스프링 커뮤니티 포럼에 참여할 수 있습니다.

 

3 이러한 애너테이션은 org.springframework.stereotype 패키지의 일부이므로 스테레오 타입이라고 부릅니다. 이 패키지에는 빈을 정의하는 데 사용하는 모든 애너테이션이 모여있습니다. 스테레오타입 애너테이션은 빈의 역할(role)과 관련이 있습니다. 예를 들어 @Service는 다른 빈이 필요로 하는 서비스를 제공하는, 보다 복잡한 기능을 하는 서비스 빈을 정의하는 데 사용되며, @Repository는 데이터베이스에 데이터를 검색/저장할 때 사용되는 빈을 정의하는 데 사용됩니다.

 

4 cglib는 강력한 고성능, 고품질 코드 생성 라이브러리입니다. 런타임에 자바 클래스를 확장하고 인터페이스를 구현할 수 있습니다. 오픈 소스이며, 공식 저장소는 https://github.com/cglib입니다.

 

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.