Spring中的几点说明

两盒软妹~` 提交于 2019-11-27 18:17:13

1.Spring上下文创建bean对象

  1)通过Spring上下文创建出来的bean对象都是单例的,无论我们获取多少次,获取到的都是同一个bean对象。
  2)无论我们是否主动去获取bean对象,Spring上下文一加载就会创建bean对象。

在这里插入图片描述
2. bean的作用域

  1)单例(singleton):在整个应用程序中,只创建bean的一个实例。
  2)原型(prototype):每次注入或通过Spring上下文获取的时候,都会创建一个新的bean实例。
  3)会话(session):在web应用中,为每个会话创建一个bean实例。
  4)请求(request):在web应用中,为每个请求创建一个bean实例。

作用域为prototype时的情况:
在这里插入图片描述
3. 自动装配中定义的bean的作用域

@Component
//@Scope("prototype")
//@Scope(scopeName = "prototype")  scope的name形式
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)   //常量的形式
public class CompactDis2 {

    public CompactDis2() {
        System.out.println("CompactDis2的无参构造方法……"+this.toString());
    }
}

4. javaConfig装配中定义bean的作用域
在这里插入图片描述
5. Spring中bean对象的加载策略

1)xml配置文件方式
  在Spring配置文件中,默认的加载策略是“积极加载”(bean对象的lazy-init=“false”)。当lazy-init="true"时,按需加载(延迟加载/懒加载)。

<bean id="compactDis" class="com.zm.demo.soundsystem.CompactDis" scope="singleton" lazy-init="true"></bean>

2)注解方式的加载策略的设置
  在类上写@Lazy,表示采用延迟加载策略,不写,默认为“积极加载”。

在这里插入图片描述
注意:延迟加载策略只与作用域为singleton的有效。

3)javaConfig发过誓的加载策略设置
在这里插入图片描述
6. 对象的初始化和销毁

1)在spring的xml配置文件中配置初始化和销毁方法的方式

<bean destory-method="销毁方法的方法名" init-method="初始化方法的方法名"></bean>

在这里插入图片描述
2)自动装配中初始化方法和销毁方法的配置

 在初始化方法上添加 @PostConstruct 标签,在销毁方法上添加 @PostConstruct 标签。
在这里插入图片描述
3)javaConfig方式装配初始化方法和销毁方法

 在初始化方法上添加 @PostConstruct 标签,在销毁方法上添加 @PostConstruct 标签。
在这里插入图片描述
7. 工厂方法创建bean对象

1)通过静态工厂方式创建bean对象

<bean id="标识符" class="创建bean对象的工厂类的全类名" factory-method="方法名"></bean>

在这里插入图片描述

<!-- 1.创建bean对象的工厂类的实例-->
<bean id="标识符" class="创建bean对象的工厂类的全类名"></bean>
<!--2.创建需要的实例对象-->
<bean id="标识符" factory-bean="工厂类对象的标识符" factory-method="实例工厂方法名"></bean>

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!