ignoreDependencyType和ignoreDependencyInterface

作用在自动注入中(不是@Autowire,是default-autowire)

ignoreDependencyType

指定类型如User.class

Class Account {
	// 不会被自动注入,User类型已经被自动注入忽略
	User user;
}

ignoreDependencyInterface

指定接口如Collection.class

Class Account implements Collection{
	
	List list;
	Set set;
	//实现了Collection接口的类
	//set方法的入参list与属性list均为List接口,这里的list不会被自动注入
	public void setList(List list){
		this.list = list
	}
	//set方法的入参set与属性set均为Set接口,这里的set不会被自动注入
	public void setSet(Set set){
		this.set = set
	}
	
}

用途:
Spring的普通bean的依赖注入时从容器中寻找符合条件的Bean注入进来,但对于特殊的bean如容器ApplicationContextBeanFactory本身,是无法在容器中找到的,这种Bean需要特定的方法来进行注入,即通过ApplicationContextAwareBeanFactoryAware来注入。
Spring中已经将ApplicationContextAwareBeanFactoryAware作为依赖忽略接口,当有bean实现了这些接口,表示他们需要一个ApplicationContext注入到自己的applicationContextAware属性中,会存在以下情况:

private ApplicationContext applicationContext;
public void set applicationContext(ApplicationContext context){
	//入参类型和属性类型相同,忽略注入
}

此时就会忽略这个ApplicationContext依赖的注入

参考资料

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值