参考
- 《Spring In Action》
- 博文《Spring Auto-Wiring Beans》
- 博文《Spring Auto-Wiring Bean with @Autowired annotation》
我并不想本篇说明Ioc的设计思想,也不想涉及Ioc的源码实现。因为该系列博文只是自己的备忘,所以难免凌乱,若对你有用最好,否则只能说声抱歉,在其他博文中不再重复声明。
本篇分两部分:
- Bean Autowired
- Autowired跟scope的关系
1. Bean Autowired
首先,BeanFactory和ApplicationContext两种方式装载bean实例,前者知道getBean()被调用才载入bean实例,而后者在Spring上下文启动后预载入所有单实例Bean。
参考的两篇博文有详细例子说明如何实现bean的autowired,两种方式:
- 在xml配置文件中加入”autowired“attribute
- 在代码中用注Annotation方式声明,@Autowired
自动装配相比手动装配,缺乏透明性。手动装配,我们直接可以再配置文件中定位清晰定位到注入的field到底对应到哪个bean。
2. Autowired跟scope的关系
Spring容器负责创建维护bean,何时创建何时销毁,需要我们去规定bean的存在范围,直接使用《spring-reference-2.5.6》的:
由于存在scope概念,我们试图通过autowired方式在一个scope=request的bean中注入一个scope=sigleton的对象,是不可能成功的。
本文深入探讨了Spring容器中的Autowired注解在不同scope范围下的工作原理及限制,包括请求作用域(request)与单例作用域(singleton)的相互影响,帮助开发者理解在使用Spring框架进行依赖注入时的注意事项。
673

被折叠的 条评论
为什么被折叠?



