Ioc - bean自动装配

参考

  • 《Spring In Action》
  • 博文《Spring Auto-Wiring Beans》
  • 博文《Spring Auto-Wiring Bean with @Autowired annotation》

我并不想本篇说明Ioc的设计思想,也不想涉及Ioc的源码实现。因为该系列博文只是自己的备忘,所以难免凌乱,若对你有用最好,否则只能说声抱歉,在其他博文中不再重复声明。

本篇分两部分:

  1. Bean Autowired
  2. 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》的:

Ioc - bean自动装配_第1张图片
由于存在scope概念,我们试图通过autowired方式在一个scope=request的bean中注入一个scope=sigleton的对象,是不可能成功的。


你可能感兴趣的:(spring,xml,bean,IOC,action,Autowired)