Spring의 두 가지 주입 방식(Set 및 구성) 인스턴스 이해

4455 단어 spring주입
의존 주입은 대상 간의 관계에 대한 제어권이 응용 코드에서 외부 용기로 넘어가는 것을 말한다.스프링 프레임워크는 주로 Set 주입과 구조 주입 두 가지 의존 주입 방식을 제공한다.
1:Set 주입은 주입을 받는 클래스에서 주입될 유형을 정의하는 set 방법을 가리키며 매개 변수에서 주입해야 할 요소를 정의합니다.Set 주입식은 Bean 속성을 조립하는 직접적인 방법이지만 Set 주입의 단점 중 하나는 모든 가변 속성이 set 방법을 통해 접근할 수 있다고 가정하고 어떤 속성이 필수적이고 어떤 속성이 선택할 수 있는지 명확하게 표시할 수 없다는 것이다.
2: 구조 주입은 수신 주입의 클래스에서 구조 방법을 정의하고 구조 방법에서 주입이 필요한 파라미터를 정의한다.구조 주입 방식의 장점은 구조 방법을 통해 의존 관계를 강제하는 것이다.
다음은 두 가지 방법의 사용법을 소개한다.
1: Myeclipse에서 (필자가 사용한 것은 Myeclipse 10 버전) 새 프로젝트(Java 프로젝트나 웹 프로젝트 모두 가능)
2: 오른쪽 단추 항목 - MyEclipse - Add Spring Capabilities(Spring 지원 추가), 3.0 버전을 선택하고 인용 핵심 라이브러리를 추가하고 다음을 누르십시오.
3:spring bean 프로필을 프로젝트 src 디렉터리에 새로 만듭니다.
4: 다음 단계를 누르면hibernate 설정 페이지를 지정하고 기본값으로 눌러서 완성하면 됩니다.
5: 새 클래스 HelloWorld.Java

package com.xiami.spring; 
 
public class HelloWorld { 
 
  private String str; 
 
  /** 
   *   
   */ 
  public HelloWorld() { 
  } 
 
  /** 
   *   
   * 
   * @param str 
   */ 
  public HelloWorld(String str) { 
    this.str = str; 
  } 
 
  /** 
   *  Set  
   * @param str 
   */ 
  public void setStr(String str) { 
    this.str = str; 
  } 
 
  /** 
   *   
   */ 
  public void sayHello() { 
    System.out.println(str); 
  } 
} 

6: 새 테스트 클래스 테스트.java

package com.xiami.spring; 
 
import org.springframework.beans.factory.BeanFactory; 
import org.springframework.beans.factory.xml.XmlBeanFactory; 
import org.springframework.core.io.ClassPathResource; 
 
public class Test { 
 
  /** 
   * @param args 
   */ 
  public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    // spring  
    BeanFactory bFactory = new XmlBeanFactory(new ClassPathResource("applicationContext.xml")); 
    HelloWorld helloWorld = (HelloWorld) bFactory.getBean("helloService"); 
    helloWorld.sayHello(); 
  } 
 
} 

7: 응용 프로그램 Context를 엽니다.xml 파일, bean 설정 추가
다음과 같은 두 가지 방법으로 bean을 추가합니다.
1: Set 주입 방식의 Bean 클래스 구성
응용 프로그램 컨텍스트를 우클릭하십시오.xml의 편집 인터페이스 - Spring - new bean에서 Bean 마법사 창을 열고 Bean Id(사용자 정의 이름과 Test.java에서 getBean("????)을 작성합니다.대응하다.Bean class는 주입할 Hello World 클래스를 선택합니다.Properties 속성 탭을 클릭하여 이 bean에 속성을 새로 만듭니다.
8: 속성 마법사 창에Name 을 HelloWorld에 입력합니다.java의 속성 이름, Spring Type은value를 선택하고, type은String을 선택하고, Value는값을 마음대로 채웁니다.finish도 가능합니다.
9: 응용 프로그램 컨텍스트를 저장합니다.xml, bean을 추가한 후 프로필에 빨간색 표시된 부분이 많아서 독자가 Test를 실행할 수 있습니다.java.테스트 해봐.hello 월드 문자열이str 변수에 주입된 것을 발견했습니다.

<?xml version="1.0" encoding="UTF-8"?> 
<beans 
  xmlns="http://www.springframework.org/schema/beans" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:p="http://www.springframework.org/schema/p" 
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 
 
   
  <!--  Set  --> 
  <!--  
  <span style="color:#ff0000;"><bean id="helloService" class="com.xiami.spring.HelloWorld" 
    abstract="false" lazy-init="default" autowire="default"> 
    <property name="str"> 
      <value type="java.lang.String">hello world</value> 
    </property> 
  </bean></span> 
   --> 
    
   <!--    
   <bean id="helloService" class="com.xiami.spring.HelloWorld" 
    abstract="false" lazy-init="default" autowire="default"> 
    <constructor-arg> 
      <value type="java.lang.String"> </value> 
    </constructor-arg> 
   </bean> 
   --> 
    
   </beans> 

2: 구조 주입 방식의 Bean 클래스 구성
위 Set 방식의 Bean Wizard(Bean 마법사) 창에서 Properties 탭을 선택하지 않고 Constructor Args 탭으로 변경합니다.구조 매개변수를 추가합니다.Index 및 Java Class는 입력할 필요가 없습니다.
10: 구조 방식 bean을 추가할 때 먼저 주석을 달거나 삭제해야 하며 여러 개의 id가 같은 bean을 허용하지 않습니다.
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기