Spring容器

启动Spring容器(实例化容器)

  -- IOC容器读取Bean配置创建Bean实例之前,必须对它进行实例化(加载启动),这样才可以从容器中获取Bean的实例并使用。

    Bean是Spring管理的基本单位,任何的Java对象和组件都被当成Bean处理,容器还负责管理Bean与Bean之间的依赖关系。

 两种类型的启动实现

  1、BeanFactory:IOC容器的基本实现,是Spring框架的基础设施,面向Spring本身;

  -- Spring容器最基本的接口就是BeanFactor。BeanFactory负责配置、创建、管理Bean。

  -- BeanFactory接口包含以下几个基本方法:

    Ø Boolean containBean(String name):判断Spring容器是否包含id为name的Bean实例。

    Ø <T> getBean(Class<T> requiredTypr):获取Spring容器中属于requiredType类型的唯一的Bean实例。

    Ø Object getBean(String name):返回Spring容器中id为name的Bean实例。

    Ø <T> T getBean(String name,Class requiredType):返回容器中id为name,并且类型为requiredType的Bean

    Ø Class <?> getType(String name):返回容器中指定Bean实例的类型。

2、ApplicationContext:面向使用Spring框架的开发者,几乎所有的应用都使用它而非底层的BeanFactory;

  -- ApplicationContext是BeanFactory的子接口,一般都会用ApplicationContext,在使用上相比BeanFactory更方便一些。

看结构能够看出ApplicationContext有1个子接口,多个抽象类,2个实现类

  1) 一个子接口:ConfigurableApplicationContext

    ① 此接口新增两个主要方法refreshclose,让ApplicationContext具有启动、刷新和关闭上下文的能力

  2)两个实现类:ClassPathXmlApplicationContext和FileSystemXmlApplicationContext

    ① ClassPathXmlApplicationContext : 从类路径下加载配置文件

    

     √ 文件路径:默认指的是项目的classpath路径下面,所以不需要写前缀classpath:。如果指向绝对路径,需要加上file:

    ② FileSystemXmlApplicationContext:从文件系统中加载配置文件

    

     √ 文件路径:默认指的是项目的根目录下,想使用项目的classpath路径下面,需要加上classpath:。

--------------------------------------------------------------------------------------------------------------------

跟着刚哥学习Spring框架系列:

跟着刚哥学习Spring框架--创建HelloWorld项目(一)

跟着刚哥学习Spring框架--Spring容器(二)

跟着刚哥学习Spring框架--通过XML方式配置Bean(三)

跟着刚哥学习Spring框架--通过注解方式配置Bean(四)

跟着刚哥学习Spring框架--AOP(五)

跟着刚哥学习Spring框架--JDBC(六)

跟着刚哥学习Spring框架--事务配置(七)

最新文章

  1. java 深入技术四(Set)
  2. MySQL数据库权限操作指南
  3. python基础字符串操作
  4. Git学习小结(第三次作业)
  5. [HDU 4828] Grids
  6. 迭代器(iterator) 与 traits 编程技法
  7. Windows Azure入门教学系列 (一): 创建第一个WebRole程序
  8. 项目管理工具 Redmine 安装试用手记
  9. 03(1) Gaussians,GMMs基础
  10. C# 通配符转正则
  11. 聊聊Socket、TCP/IP、HTTP、FTP及网络编程
  12. JAVA基础复习与总结&lt;九&gt; 线程的基本概念_Thread继承创建线程
  13. 树莓派0 ubuntu无显示器ssh登录终端
  14. java数组和集合的相互转换
  15. Android Native App自动化测试实战讲解(下)(基于python)
  16. Spring MVC基础知识整理➣View与Controller数据交互
  17. Linux获取so/ko文件版本号教程
  18. Windows10状态栏右下角的上升三角号没有了
  19. [Unity工具]查找GameObject在场景中所有被引用的地方
  20. UVA10829 L-Gap Substrings(后缀数组+ST表)

热门文章

  1. Android Camera后台拍照
  2. Idea项目如何迁移到Eclipse
  3. 2019.01.17 bzoj1854: [Scoi2010]游戏(二分图匹配)
  4. Linux 目录说解
  5. springboot深入学习(五)-----spring data、事务
  6. python code(1)
  7. Win7 VS2015环境编译Libpng
  8. nigos core 安装配置
  9. IntelliJ IDEA 2017版 Spring5最基本的bean例子创建
  10. MacOS使用常用配置