第10讲 --使用构造器装配属性

 

使用构造器注入:

 

以前我们都是使用setter方法给属性注入值的,现在我们来看看另外一种注入方法:构造器注入

 

 

步骤:

 

(1)改写 PersionServiceBean.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);
	private PersionDao persionDao;
	private String name;
	
	public PersionServiceBean(PersionDao persionDao, String name) {
		
		this.persionDao = persionDao;
		this.name = name;
	}
	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类型

 

<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) 测试:

 

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()方法

 

目前学习到了两种注入方式:

1.setter方式

2.构造起方式

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值