1. 概念
    1. 在每个框架的中都有一个容器的概念,所谓的容器就是将常用的服务,封装起来,然后,用户只需要遵循一定的规则,就可以达到统一、灵活、安全、方便、快速的目的
    2. 具有依赖注入功能的容器,负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖
  2. Bean的概念
    1. 由IoC容器管理的那些组成你应用程序的对象我们就叫它Bean
    2. Bean就是由Spring容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了
  3. 元数据BeanDefinition
    1. 确定如何实例化Bean、管理Bean之间的依赖关系以及管理Bean,这就需要配置元数据,在Spring中由BeanDefinition代表
  4. 如何工作的
    1. 以xml配置方式,简单解释
    2. 准备配置文件
      1. 配置文件中声明Bean定义也就是为Bean配置元数据。
    3. 由IoC容器进行解析元数据
      1. IoC容器的Bean Reader读取并解析配置文件,根据定义生成BeanDefinition配置元数据对象,IoC容器根据BeanDefinition进行实例化、配置及组装Bean
    4. 实例化IoC容器
      1. 由客户端实例化容器,获取需要的Bean
  5. hello world
    1. @Test public void testHelloWorld() { //1、读取配置文件实例化一个IoC容器 ApplicationContext context = new ClassPathXmlApplicationContext("helloworld.xml"); //2、从容器中获取Bean,注意此处完全“面向接口编程,而不是面向实现” HelloApi helloApi = context.getBean("hello", HelloApi.class); //3、执行业务逻辑 helloApi.sayHello(); }