>  기사  >  Java  >  Spring Framework 학습(2) 의존성 주입

Spring Framework 학습(2) 의존성 주입

黄舟
黄舟원래의
2016-12-29 13:10:091315검색

스프링 프레임워크는 집합 주입, 생성자 주입, 인터페이스 주입이라는 세 가지 주입 방법을 제공합니다. 인터페이스 주입은 필요하지 않습니다. 처음 두 가지 방법은 아래에 소개되어 있습니다.

1, 세트 주입
속성의 set 메소드를 사용하여 초기화하는데, 이를 세트 주입이라고 합니다.
1) 일반적인 문자 유형에 값을 할당합니다.

public class User{
   privateString username;
 
   publicString getUsername() {
       returnusername;
   }
   publicvoid setUsername(String username) {
      this.username= username;
   }
}

속성의 set 메소드만 제공한 다음 속성 파일로 이동하여 프레임워크가 applicationContext.xml 파일의 beans 태그를 찾을 수 있도록 구성하면 됩니다. 빈 태그에 빈 태그를 추가하세요.
id를 지정하세요. 클래스 값, id 값은 필요하지 않습니다. 클래스 값은 객체가 위치한 전체 경로입니다. Bean 태그에 property
태그를 추가하고 name 값은 User 클래스의 해당 속성 이름과 일치해야 합니다. value 값은 User 클래스의 사용자 이름 속성에 할당하려는 값입니다.

<bean id="userAction"class="com.lsz.spring.action.User" >
	<property name="username" value="admin"></property>
</bean>

2) 객체에 값 할당
객체의 set 메소드도 제공

public class User{
     private UserService userservice;
     public UserServicegetUserservice() {
          returnuser;
     }
     public void setUserservice(UserService userservice){
         this.userservice= userservice;
     }
}

구성 파일에 UserService의 Bean 레이블 선언을 추가하고 UserService에 대한 User 개체의 참조입니다.

<!--对象的声明-->
<bean id="userService" class="com.lsz.spring.service.UserService"></bean>
 
<bean id="userAction"class="com.lsz.spring.action.User" >
   <property name="userservice" ref="userService"></property>
</bean>

이 구성을 사용하면 프레임워크는 UserService 개체를 User 클래스에 삽입합니다.

3) 목록 컬렉션에 값 할당
은 set 메서드도 제공합니다

public class User{
    privateList<String> username;
    publicList<String> getUsername() {
        returnusername;
    }
    publicvoid setUsername(List<String> username) {
        this.username= username;
    }
}
<bean id="userAction"class="com.lsz.spring.action.User" >
     <propertyname="username">
           <list>
               <value>zhang,san</value>
               <value>lisi</value>
               <value>wangwu</value>                                
               </list>
    </property>
</bean>

4) 속성 파일의 필드에 값 할당

public class User{
    privateProperties props ;
    publicProperties getProps() {
        returnprops;
    }
    publicvoid setProps(Properties props) {
        this.props= props;
    }
}
🎜>
<bean>
    <propertyname="props">
        <props>
           <propkey="url">jdbc:oracle:thin:@localhost:orl</prop>
           <propkey="driverName">oracle.jdbc.driver.OracleDriver</prop>
           <propkey="username">scott</prop>
           <propkey="password">tiger</prop>
        </props>
    </property>
</bean>


23ac7bbddc590263b57e27da10ea2cdf 태그의 키 값은 .properties 속성 파일의 이름입니다.

참고:
어떤 값이 할당되든 이름은 구성 파일에 있는 3fcb97bb666cd7884d4d3210fb47b5ef 태그의 속성 값은 다음과 같아야 하며 개체의 이름은 일관되어야 합니다.


2 생성자 주입

1) 생성자에 매개변수가 1개 있는 경우
public class User{
    privateString usercode;
    publicUser(String usercode) {
        this.usercode=usercode;
    }
}
<bean id="userAction"class="com.lsz.spring.action.User">                        
    <constructor-argvalue="admin"></constructor-arg>                        
</bean>


2) 생성자에 매개변수가 2개 있는 경우
매개변수가 없는 경우 문자열 유형을 사용하는 경우 구성 파일에 유형을 지정해야 합니다. 유형을 지정하지 않으면 문자열 유형에 따라 값이 지정됩니다.

매개변수 유형이 일치하지 않는 경우 프레임워크는 문자열 유형에 따라 검색하므로 매개변수의 위치는 구성 파일에서 지정해야 합니다
<constructor-argvalue="admin"index="0"></constructor-arg>                
<constructor-argvalue="23" type="int"index="1"></constructor-arg>

이것은 생성자에서 지정되며, first 첫 번째 매개변수는 string형, 두 번째 매개변수는 int형



위는 Spring Framework 학습 내용(2) 의존성 주입 내용이다. 내용이 궁금하시다면 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!


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