【Spring】Bean自动装配及使用注解装配

一、byName byType自动装配

如果我们的类拥有一下字段

 

 

 那么常规的配置文件 应该如下

 

 

 

我们来了解一下byname bytype

byName:根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。 

byType:如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配;如果存在多个该类型bean,那么抛出异常,并指出不能使用byType方式进行自动装配;如果没有找到相匹配的bean,则什么事都不发生,也可以通过设置 

byName测试:

people内字段为cat

 

 

 

 

 

 

 

 

 

 

people内字段为cat2

 

 

 

 

 

 

byType测试

如果存在2个同类型的bean时会报错

 

 

 

删掉一个就好了

 

 

 

 

 

 二、使用注解

@Autowired

 

 

 不需要在配置文件中写autowired指定时byname还是bytype了

 

autowire默认是bytype的。如果唯一則注入,否则byName查找。

使用qualifier指定bean的name 达到byname的用法

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

@Resource

我的java14没有这个包啊 手动导入依赖解决


<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.1</version>
</dependency>

@Autowire按照名称(by-name)装配,则
@Autowire + @qualifier("") = @Resource(name="")

 

posted @ 2021-02-05 13:07  枫叶像思念  阅读(238)  评论(0编辑  收藏  举报