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


    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框架--事务配置(七)

  • 相关阅读:
    input上传图片的坑
    nodejs创建一个静态文件服务器的根目录anywhere
    深浅拷贝
    es6中数组的flat()和flatMap()
    new Date()在ios上的坑
    一些常用的css Hack
    IntrospectorCleanupListener
    http header
    ActionContextCleanUp
    OpenSessionInViewFilter
  • 原文地址:https://www.cnblogs.com/hzg110/p/6784411.html
Copyright © 2020-2023  润新知