IOC

2020-02-08  本文已影响0人  凯凯frank

IOC(Inversion of Control)控制反转

资源的主动创建变成被动获取。由spring来负责控制对象的生命周期和对象间的关系。
IOC是一个容器,管理所有的Bean,本质上一个map。

DI(Dependency Injection)依赖注入

容器运行的时候通过反射,把容器中准备好的bean注入到需要的地方

Bean的作用域

  1. singleton: 单实例(默认是单实例作用域)
  1. prototype: 多实例
  1. request:在web环境下,同一次请求创建一个Bean(很少用)
  2. session:在web环境下,同一次回话创建一个Bean(很少用)
<bean id="user" class="com.frank.bean.User" scope="singleton"/>
<bean id="user" class="com.frank.bean.User" scope="prototype"/>
 <bean id="user" class="com.frank.bean.User" scope="request"/>
<bean id="user" class="com.frank.bean.User" scope="session"/>

Bean的生命周期

  1. singleton: 单实例Bean,容器启动的时候创建,容器关闭的时候销毁
    (容器启动时)构造器 ->初始化方法->(容器关闭)销毁方法
  2. prototype: 多实例Bean,每次获取的时候创建Bean
    对于 prototype 作用域的 Bean,Spring 只负责创建,当容器创建了 Bean 的实例后,Bean 的实例就交给客户端代码管理,Spring 容器将不再跟踪其生命周期。
    (容器启动时)构造器 ->初始化方法->容器关闭不会调用bean的销毁方法

生命周期方法

<bean id="user" class="com.frank.bean.User" destroy-method="" init-method=""/>
上一篇 下一篇

猜你喜欢

热点阅读