Spring beanの自動組立
4321 ワード
ドキュメントを見ると5.45 autwiringですが、springでは自動組立は推奨されていません.annotationを使用することを推奨します.
byName
byName
<bean id="userDao" class="cn.sxt.dao.impl.UserDaoMysqlImpl"/>
<bean id="service" class="cn.sxt.service.impl.UserServiceImpl" autowire="byName">
bean>
public class UserServiceImpl implements UserService{
private UserDao userDao=null;
public UserServiceImpl() {
super();
}
public void setUserDao(UserDao userDao){
this.userDao=userDao;
}
@Override
public void getUser() {
userDao.getUser();
}
}
このように設定したい場合は、それぞれが非常に面倒です.ヘッダファイルにデフォルトの設定を追加することができます.
<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.xsd" default-autowire="byName">
by Type
<bean class="cn.sxt.dao.impl.UserDaoMysqlImpl"/>
<bean id="service" class="cn.sxt.service.impl.UserServiceImpl" autowire="byType">
bean>
トラック
<bean class="cn.sxt.dao.impl.UserDaoMysqlImpl"/>
<bean id="service" class="cn.sxt.service.impl.UserServiceImpl" autowire="constructor">
bean>