Spring Bean的自动装配

Bean的作用域

单例模式(Spring默认机制)

原型模式(每次容器中get的时候,都会产生一个对象!)

3.request,session,application,这些只能在web开发中使用到

Bean的自动装配
byName和byType自动装配:

ByName:需要保证bean的id唯一
byType:需要保证bean的class唯一

使用注解的自动装配
Spring2.5之后就支持注解配置

导入约束:

<?xml version="1.0" encoding="UTF-8"?>

https://www.springframework.org/schema/context/spring-context.xsd">

context:annotation-config/

配置注解的支持:context:annotation-config/(千万别忘了)

@Autowired

将@Autowired放在属性上,相当于xml配置中的byType,此时实际上可以省略set方法

将@Autowired放在set方法上,相当于xml配置的byName

@Autowired的required属性

如果@Autowired自动装配的环境比较复杂,自动装配无法通过一个注解【@Autowired】完成的时候,可以使用@Qualifier(value=xxx)去配和@Autowired的使用,指定唯一的bean;

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

另一个自动装配注解@Resource

@Resource和@Autowired 的区别
1.都是自动装配的,都可以放在属性字段上
2.@Autowired放在属性相当于byType,放在set方法上相当byName;
3.@Resource默认通过byName的方式实现,如果找不到名字,则通过byType实现!如果两个都找不到的情况下,就会报错!

@Scope(“singleton”)

总结:
Xml 于注解
Xml更加万能,适用于任何场合!维护方便
注解 维护复杂

Xml于注解的最佳实践
Xml用来管理bean

注解只负责完成属性的注入
注意:

JavaConfig(纯Java的配置方式,这种配置方式在Spring boot中随处可见)

发布了19 篇原创文章 · 获赞 0 · 访问量 402

猜你喜欢

转载自blog.csdn.net/Lixiang1008/article/details/104680552