스프링 제어 뒤집기의 종속성 주입 방법
종속성 주입은 객체 간의 관계 제어가 애플리케이션 코드에서 외부 컨테이너로 이전되는 것을 의미합니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!