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;