스프링의 자동 조립 Bean의 세 가지 방식
자동 조립을 사용하지 않았다면 수동 조립은 보통 프로필에서 이루어집니다. 코드는 수동 조립입니다.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="customerDAO" class="com.hebeu.customer.dao.JdbcCustomerDAO">
<property name="dataSource" ref="dataSource" />
</bean>
</beans>
Spring 프레임워크에서는 자동 와이어링 기능으로 Bean을 자동으로 조립할 수 있습니다.그것을 사용하려면
<bean id="customer" class="com.yiibai.common.Customer" autowire="byName" />
Spring에서는 5 자동 어셈블 모드를 지원합니다.
package com.hebeu.model;
public class Customer {
private Address address;
public Customer() {
}
public Customer(int id, Address address) {
super();
this.address = address;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
}
package com.hebeu.model;
public class Address {
private String fulladdress;
public Address(){
}
public Address(String addr){
this.fulladdress = addr;
}
public String getFulladdress() {
return fulladdress;
}
public void setFulladdress(String fulladdress) {
this.fulladdress = fulladdress;
}
}
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="customer" class="com.hebeu.model.Customer" autowire="byName"></bean>
<bean id="address" class="com.hebeu.model.Address">
<property name="fulladdress" value="YiLong Road, CA 188"></property>
</bean>
</beans>
이렇게 하면 address를 Customer에 주입합니다.이것이 바로 자동 주입 ByName입니다.Customer bean에서 속성address를 공개했습니다. 스프링 용기에서address bean을 찾아 조립합니다.여기에서customer에 주입될 bean의 set 방법은 public이어야 합니다. 그렇지 않으면 빈 바늘에 이상이 발생할 수 있습니다.그리고 설정된 bean의 id는 Customer에서 설명한 변수 이름과 같아야 합니다.두 번째 자동 조립[데이터 유형에 따라 자동 조립]
성명된 두 개의 bean 역시 Customer 및 Address로 응용 프로그램 Context를 사용합니다.xml을 이렇게 바꾸는 것은 데이터 유형에 따라 자동 조립을 실현하는 것이다.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="customer" class="com.hebeu.model.Customer" <strong><span style="color:#FF0000;">autowire="byType"</span></strong>></bean>
<bean id="bean1" class="com.hebeu.model.Address">
<property name="fulladdress" value="YiLong Road, CA 188"></property>
</bean>
</beans>
형식 자동 조립은 하나의 bean의 데이터 형식이 다른 bean 속성의 데이터 형식과 같으면 자동으로 조립을 호환한다는 것을 의미한다.물론 어떤 종류의 bean만 설정할 수 있도록 요구합니다.이렇게 설정하면 오류가 발생합니다.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="customer" class="com.hebeu.model.Customer" autowire="byType"></bean>
<bean id="bean1" class="com.hebeu.model.Address">
<property name="fulladdress" value="YiLong Road, CA 188"></property>
</bean>
<bean id="bean2" class="com.hebeu.model.Address">
<property name="fulladdress" value="YiLong Road, CA 188"></property>
</bean>
</beans>
세 번째 자동 조립[구조 방법에 따라 자동 조립]사례와 함께 응용 프로그램Context를 사용합니다.xml을 다음과 같이 변환하면 구조 방법에 따라 자동으로 조립할 수 있다.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="customer" class="com.hebeu.model.Customer">
<!-- -->
<constructor-arg>
<ref bean="bean1"/>
</constructor-arg>
</bean>
<bean id="bean1" class="com.hebeu.model.Address">
<property name="fulladdress" value="YiLong Road, CA 188"></property>
</bean>
</beans>
그것은 실제로 구조 함수의 매개 변수 유형이 자동으로 조립된다.이것은 만약에 하나의 bean의 데이터 형식이 다른 bean의 구조기 파라미터의 데이터 형식과 같다면 자동으로 조립된다는 것을 의미한다.이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.