SpringFramework Core - I. IoC 컨테이너 (101) 썸네일형 리스트형 4.1.4. 의존성 주입의 예시 원문: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-some-examples 다음 예시들은 setter 기반의 의존성 주입을 위해 XML 기반의 설정 메타데이터를 사용하고 있다. 스프링 XML 설정 파일의 일부분에서 몇몇 bean 정의들을 특정하고 있다. 다음 예시는 위에 따르는 ExampleBean 클래스이다. public class ExampleBean { private AnotherBean beanOne; private YetAnotherBean beanTwo; private int i; public void setBeanOne(AnotherBean beanOne) { th.. 4.1.3. 의존성 주입 프로세스 원문: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-dependency-resolution 컨테이너는 다음과 같이 의존성을 주입 작업을 한다. ApplicationContext가 모든 bean을 설명하고 있는 설정 메타데이터를 통해 생성되고 초기화된다. 설정 메타데이터는 XML, 자바 코드, 어노테이션을 통해 특정된다. 각각의 bean에 대해, 그들의 의존성은 properties, 생성자 매개변수, static 팩토리 메서드의 인자 형태로 표현된다. 이러한 의존성들은 bean이 실제로 생성될 때 bean에게 제공된다. 각각의 프로퍼티 또는 생성자 매개변수는 세팅될 값에 대한 실질.. 4.1.2. setter 기반의 의존성 주입 원문: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-setter-injection setter 기반의 의존성 주입은, 컨테이너가 기본 생성자를 호출하거나 매개변수 없는 static 팩토리 메서드를 호출하여 bean을 인스턴스화한 후에 bean의 setter 메소드를 호출함으로써 이루어진다. 다음 예시는 순수한 setter 주입만을 통해 의존성을 주입받을 수 있는 클래스를 보여준다. 이 클래스는 전통적인 자바이다. 컨테이너에 특정된 인터페이스, 클래스 또는 어노테이션에 의존성을 갖지 않는 POJO이다. public class SimpleMovieLister { // SimpleMo.. 4.1.2. 생성자 매개변수 해석 원문: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-constructor-injection 생성자 매개변수 매칭은 매개변수의 타입을 통해 이루어진다. 만약 bean 정의에서 생성자 매개변수들에 대한 아무런 잠재적인 애매함이 없다면, 생성자 매개변수들이 정의된 순서가 곧 bean이 인스턴스화 될 때 생성자에 공급되는 인자들의 순서가 된다. 다음 클래스를 참고하라. package x.y; public class ThingOne { public ThingOne(ThingTwo thingTwo, ThingThree thingThree) { // ... } } ThingTwo와 Thing.. 4.1.1. 생성자 기반의 의존성 주입 원문: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-constructor-injection 생성자 기반의 의존성 주입은, 컨테이너가 수많은 인자들을 통해서 생성자를 호출하는 방식으로 이루어진다. 특정한 인자들을 통해 static 팩토리 메서드를 호출하는 방식으로 bean을 생성하는 것과 거의 유사하다. 그리고 앞으로의 논의에서는 생성자로 넘기는 인자와 static 팩토리 메서드에 넘기는 인자에 대해 비슷하게 취급할 것이다. 다음의 예시는 생성자 주입만을 통해서만 의존성이 주입되는 클래스를 보여준다. public class SimpleMovieLister { // SimpleMov.. 4.1. 의존성 주입 원문: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-factory-collaborators 의존성 주입(DI)은 객체들의 그들의 의존성을 정의하는 과정을 말한다. 그 과정은 '생성자 변수 방식', '팩토리 메서드 변수 방식', '이미 생성된 객체 또는 팩토리 메서드를 통해 반환받은 객체의 인스턴스에 프로퍼티를 세팅하는 방식'을 통해서만 이루어진다. 컨테이너는 그 후 bean을 만들면서 그 의존성들을 주입한다. bean은 클래스의 즉시 생성이나 서비스 로케이터 패턴과 같은 메커니즘을 통해 인스턴스화와 의존성의 위치를 제어하기 때문에, 이 과정은 근본적으로 역전되어있는(Inversi.. 4. 의존성 원문: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-dependencies 전형적인 엔터프라이즈 애플리케이션은 하나의 객체만으로 구성되지 않는다. 아무리 간단한 애플리케이션이라도 최종 사용자가 깔끔한 애플리케이션을 볼 수 있도록 협력하고 있는 몇 개의 객체들로 구성된다. 이번 장에서는 어떻게 독립적으로 존재하는 많은 수의 bean들을, 목표를 성취하기 위해 협력하는 객체들이 존재하는 완전한 애플리케이션으로 만들어 갈 수 있는지에 대해 설명한다. 3.2.3. 인스턴스 팩토리 메서드를 사용하여 인스턴스화 하기 원문: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-factory-class-instance-factory-method static 팩토리 메서드와 유사하게, 인스턴스 팩토리 메서드를 통해 인스턴스화를 할때는 컨테이너에 존재하는 bean의 non-static 메서드를 호출한다. 이 메커니즘을 사용하려면, 인스턴스 메소드를 호출하여 생성될 bean들의 'class' 속성을 비워둬라. 그리고 'factory-bean' 속성에 인스턴스 메소드를 포함하고있는 bean(조상 컨테이너에 있어도 됨)의 이름을 적어라. 그리고 'factory-method' 속성에는 팩토리 메서드의 이름을 적어.. 이전 1 ··· 8 9 10 11 12 13 다음