Spring揭秘(四)——Spring的IOC容器之BeanFactory

来源:互联网 发布:陕西乡土文化数据 编辑:程序博客网 时间:2024/06/05 10:48

Spring的IOC容器之BeanFactory

Spring提供了两种容器类型:BeanFactory和ApplicationContext。

  1. BeanFactory。基础类型IoC容器,提供完整的IoC服务支持。如何没有特殊制定,默认采用延迟初始化策略(lazy-load)。只有当客户端对象需要访问容器中的某个受管对象的时候,才对该受管对象进行初始化以及依赖注入操作。所以,相对来说,容器启动初期速度较快,所需要的资源有限。对于资源有限并且功能要求不是很严格的场景,BeanFactory是比较合适的IoC容器选择。

  2. ApplicationContext。ApplicationContext在BeanFactory的基础上构建,是相对比较高级的的容器实现,除了拥有BeanFactory的所有支持,ApplicationContext还提供了其他高级特性,比如事件发布、国际化信息支持等。ApplicationContext所管理的对象,在该类型容器启动之后,默认全部初始化并绑定完成。所以,相对于BeanFactory来说,ApplicationContext要求更多的系统资源,同时,因为在启动时就完成所有的初始化,容器启动时间较之BeanFactory也会长一些。


BeanFactory的对象注册和依赖绑定方式

  • 直接编码方式
  • 外部配置文件方式

    • Properties配置格式的加载
    • XML配置格式的加载
      <beans>  <bean id="testBean" calss="..impl.TestBean" /></beans>
  • 注解方式
    @Autowired是这里的主角,它的存在将告知Spring容器需要为当前的对象注入哪些依赖对象。
    @Component则是配合Spring2.5中新的classpath-scanning功能使用的。
0 0
原创粉丝点击