Spring(6)注解实现自动装配

一:注解实现自动装配

1.导入约束:context约束

2. 配置注解的支持:

 

 

 

 @Autowired

直接在属性上使用即可,也可以在set方式上使用!

使用Autowired我们可以不用编写Set方法了,前提是你这个自动装配的属性在IOC(Spring)容器中存在,且符合名字byname 如下(不写set方法):

 

 科普:除了@Nullable,还可以在@Autowired(require=false)//如果这样定义,说明这个对象可以为null否则不予许为空。

 测试代码:

 

 如果@Autowired自动装配的环境比较复杂,自动装配无法通过一个注解(@Autowired)完成的时候,我们可以使用@Qualifier(value=“dog222”)去配置@Autowired的使用,指定一个唯一的bean对象注入!

 

 下面这种类型就需要上面的配置(比较复杂):

 

 @Resource注解

 

 小结:

@Resource和@Autowired的区别:

   ·都是用来自动装配的,都可以放在属性字段上。

   ·@Autowired通过bytype的方式实现的,而且必须要求这个对象存在![常用]

   ·@Resource默认通过byname的方式实现的,如果找不到名字,则通过byType实现的! 如果俩个都找不到的情况下,就报错。【常用】

    ·执行顺序不同:@Autowired通过byType的方式实现,@Resource是通过byname实现

注解说明:

@Autowired:自动装配通过类型,名字

         如果Autowired不能唯一自动装配属性,则需要通过@Qualifier(value=“xxx”);

@Nullable:字段标记了这个注解,说明这个字段可以为null;

@Resource:自动装配通过名字,类型

@Component:组件,放在类上,说明这个类被Spring管理了,就是bean;

posted @ 2021-04-06 10:35  iLisa  阅读(223)  评论(0编辑  收藏  举报