Spring中Bean属性的注入方式

1. setter
定义一个userDao和一个userService,在userService中定义userDao私有属性,并定义setter方法,然后在xml中建立两个类的声明及配置:

<bean id="userDao" class="....." />
<bean id="userService" class="......" />
	<property name="userDao" ref="userDao" />
</bean>

2. 构造器
将setter注入bean的xml中property换成constructor-arg即可通过构造函数完成userDao注入,但耦合紧密,不推荐。

3. 注解
不需要在xml中配置bean,只要加上<context:component-scan base-package=“com.imooc.spring” /> 即可扫描整个包下的注解。
在userDaoImpl下增加@Repository注解,意为仓库,在IOC容器初始化时自动加载当前的类并实例化,bean id默认为类名小写,可设置为自定义,需在userService上加注解@Service(“userService”),中间的字符串即为bean id。
在userService的userDao属性上增加@Resouce(name=“userDao”)完成注入。

4. java config
不再使用xml,而是注解+java代码。仍在xml中加上扫描注解的配置,新建AppConfig类。

@Configuration
public class AppConfig{
	@Bean(name="userDao")
	public UserDao userDao(){
		return new UserDaoImpl();
	}
	@Bean(name="userService")
	public UserService userService(){
		UserService userService = new UserService();
		userService.setUserDao(this.userDao());
		return userService;
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值