>Java >java지도 시간 >Spring의 두 가지 주입 방법(설정 및 구성)에 대한 자세한 예

Spring의 두 가지 주입 방법(설정 및 구성)에 대한 자세한 예

PHP中文网
PHP中文网원래의
2017-06-22 14:49:351939검색

스프링 제어 뒤집기의 종속성 주입 방법

종속성 주입은 객체 간의 관계 제어가 애플리케이션 코드에서 외부 컨테이너로 이전되는 것을 의미합니다. Spring 프레임워크는 주로 Set 주입과 생성자 주입이라는 두 가지 종속성 주입 방법을 제공합니다.

1: Set 주입은 주입을 받는 클래스에 주입할 타입의 set 메소드를 정의하고, 주입해야 할 요소를 매개변수에 정의하는 것을 말합니다. Set 주입은 Bean 속성을 직접 조립하는 방법이지만 Set 주입의 한 가지 단점은 모든 변수 속성에 set 메서드를 통해 액세스할 수 있다고 가정하고 어떤 속성이 필수이고 어떤 속성이 선택인지 명확하게 표시할 수 없다는 것입니다.

2: 생성자 주입은 주입을 받는 클래스에 생성자 메소드를 정의하고, 생성자 메소드에 주입해야 할 매개변수를 정의하는 것입니다. 생성자 주입의 장점은 생성자를 통해 종속성이 적용된다는 것입니다.

두 가지 사용 방법이 있습니다.

하나: Myeclipse에서 새 프로젝트를 생성합니다. (저자는 Myeclipse10 버전을 사용하고 있습니다.) (java 프로젝트나 웹 프로젝트도 가능합니다.)

둘: 맞습니다- 프로젝트 - MyEclipse - Spring 기능 추가(Spring 지원 추가)를 클릭하고 버전 3.0을 선택하고 핵심 클래스 라이브러리에 대한 참조를 추가한 후 다음을 클릭합니다.

3: 새 Spring Bean 구성 파일을 생성하고 배치하도록 선택합니다. 프로젝트 src 디렉터리에 있습니다.

4: 다음을 클릭하고 Hibernate 구성 페이지를 지정하고 기본값을 직접 지정한 후 마침을 클릭합니다.

Five: 새로운 클래스 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);
	}
}


Six: 새로운 테스트 클래스 생성 Test.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();
	}

}

Seven: 현재 프로젝트 구조는 다음과 같습니다.

Eight: applicationContext.xml 파일을 열어 Bean 구성 추가

다음은 Bean을 추가하는 두 가지 방법입니다.

1: Set 주입 방법을 사용하여 Bean 클래스 구성

applicationContext.xml을 마우스 오른쪽 버튼으로 클릭 인터페이스 편집 - Spring - 새 bean Bean 마법사 창을 열고 Bean ID를 입력합니다(사용자 정의 이름은 Test.java의 getBean("???")에 해당합니다. Bean 클래스 HelloWorld 클래스를 선택합니다. 속성 탭을 클릭하고 Create a new attribute for this bean을 입력합니다.

9: HelloWorld.java의 속성 이름에 해당하는 이름을 입력하고 Spring Type에 대한 값을 입력합니다. 값.

Ten: Bean을 추가한 후 구성 파일에 빨간색 표시가 나타납니다. 독자는 Test.java를 실행하여 hello world

문자열이 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 창에서 Properties 탭을 선택하지 않고 Constructor Args 탭으로 변경합니다. 새로운 생성 매개변수. Index 및 Java Class를 채울 필요가 없습니다.

Eleven

: 생성자 Bean을 추가할 때 첫 번째 Bean을 먼저 주석 처리하거나 삭제해야 하며, 동일한 ID를 가진 Bean은 더 이상 허용되지 않습니다. .

위 내용은 Spring의 두 가지 주입 방법(설정 및 구성)에 대한 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Spring IOC 및 DI 이해다음 기사:Spring IOC 및 DI 이해