Bean注入方式2:コンストラクタアセンブリプロパティを使用する


手順:(1)PersionServiceBeanを書き換える.JAva,注入した属性に構築方法Javaコードを加える
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()メソッドを実行しました