Spring实现属性注入的三种方式

第一种,通过使用xml配置的方式

此方式需要在applicationContext.xml文件中配置bean的方式完成

<bean id="customerService" class="com.w.demo3.CustomerServiceImpl">
		<property name="p1" ref="p1"/>
		<property name="p2" ref="p2"/>
		</bean>
		<bean id="p1" class="com.w.demo3.Product1DaoImpl"></bean>
		<bean id="p2" class="com.w.demo3.Product2DaoImpl"></bean>

同时需要在service层对属性添加set方法


	private Product1DaoImpl p1;
	
	private Product2DaoImpl p2;

	

	public void setP1(Product1DaoImpl p1) {
		this.p1 = p1;
	}



	public void setP2(Product2DaoImpl p2) {
		this.p2 = p2;
	}

这样就可以实现属性的注入了。

 

 

第二种方式是纯注解型

需要在applicationContext.xml文件中配置开启扫描组件注解

<context:component-scan
		base-package="com.w.demo3" /> 

然后再service层的每个DaoImpl中添加@Autowired

    @Autowired
	private Product1DaoImpl p1;
	@Autowired
	private Product2DaoImpl p2;

不用设置set方法,这样就实现了第二种属性注入了。

 

第三种是xml和注解混合的方式。

需要在applicationContext.xml文件中配置开启注解

<context:annotation-config/> 
<bean id="customerService" class="com.w.demo3.CustomerServiceImpl">
		
		</bean>
		<bean id="p1" class="com.w.demo3.Product1DaoImpl"></bean>
		<bean id="p2" class="com.w.demo3.Product2DaoImpl"></bean>

然后再service层中添加@Resource

	@Resource(name="p1")
	private Product1DaoImpl p1;
	@Resource(name="p2")
	private Product2DaoImpl p2;

不需要设置set方法,这样可以实现第三种方式注入了,希望对你有帮助。喜欢的朋友可以关注我微信的公众号:从小白到架构师。我会每天更新学习内容的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值