스프링 프레임워크는 집합 주입, 생성자 주입, 인터페이스 주입이라는 세 가지 주입 방법을 제공합니다. 인터페이스 주입은 필요하지 않습니다. 처음 두 가지 방법은 아래에 소개되어 있습니다.
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>
참고:
어떤 값이 할당되든 이름은 구성 파일에 있는
2 생성자 주입
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>
위는 Spring Framework 학습 내용(2) 의존성 주입 내용이다. 내용이 궁금하시다면 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!