Bean注入方式2:コンストラクタアセンブリプロパティを使用する
手順:(1)PersionServiceBeanを書き換える.JAva,注入した属性に構築方法Javaコードを加える
(2)beansを配置する.xmlは、依存属性と基本的なStringタイプを構成します.
Xmlコード
(3)テスト:
Javaコード
結果:
INFO(PersionServiceBean.java:37)-リソースの初期化
INFO (PersionServiceBean.java:46) - name:huxl
INFO(PersionDaoBean.java:15)-PersionDaoBeanのadd()メソッドを実行しました
package cn.com.xinli.service.impl;
import org.apache.log4j.Logger;
import cn.com.xinli.dao.PersionDao;
import cn.com.xinli.service.PersionSevice;
public class PersionServiceBean implements PersionSevice
{
Logger log=Logger.getLogger(PersionServiceBean.class);
<span style="color: #ff0000;">private PersionDao persionDao;
private String name;
public PersionServiceBean(PersionDao persionDao, String name) {
this.persionDao = persionDao;
this.name = name;
}</span>
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public PersionDao getPersionDao()
{
return persionDao;
}
public void setPersionDao(PersionDao persionDao)
{
this.persionDao = persionDao;
}
public void init()
{
log.info(" ");
}
public PersionServiceBean()
{
log.info(" ");
}
public void save()
{
log.info("name:"+name);
this.persionDao.add();
}
public void destory()
{
log.info(" ");
}
}
(2)beansを配置する.xmlは、依存属性と基本的なStringタイプを構成します.
Xmlコード
<bean id="persionServiceBean" class="cn.com.xinli.service.impl.PersionServiceBean" init-method="init" destroy-method="destory">
<constructor-arg index="0" type="cn.com.xinli.dao.PersionDao" ref="persionDao"></constructor-arg>
<constructor-arg index="1" value="huxl"></constructor-arg>
</bean>
(3)テスト:
Javaコード
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
PersionSevice ps=(PersionSevice)ctx.getBean("persionServiceBean");
ps.save();
結果:
INFO(PersionServiceBean.java:37)-リソースの初期化
INFO (PersionServiceBean.java:46) - name:huxl
INFO(PersionDaoBean.java:15)-PersionDaoBeanのadd()メソッドを実行しました