Spring中的Bean配置

bean配置

基础配置

Spring中的Bean配置_第1张图片

别名配置

Spring中的Bean配置_第2张图片

作用范围配置

Spring中的Bean配置_第3张图片

1、为什么bean会默认为单例?

如果不为单例,则每一次调用bean,Spring的bean容器中,会出现多个该类的对象,这会造成容器的冗余。

2、适合交给容器进行管理的bean

  • 表现层对象

  • 业务层对象

  • 数据层对象

  • 工具对象

3、不适合交给容器进行管理的bean

  • 封装实体的域对象(有状态的,会记录内部成员变量的属性值)

bean实例化

1、spring调用无参构造方法创建bean。

  • 即使构造方法使用private修饰,仍然能完成创建,使用的方法是反射。

  • 无参构造方法如果不存在,则抛出异常。

Spring中的Bean配置_第4张图片

2、静态工厂

  • 创建静态工厂,在类中,创建静态方法,返回对象,此时为非单例。

  • 在配置中,添加 factory-method 属性。参数为静态方法名称。

  • Spring的调用方法不需要改变

Spring中的Bean配置_第5张图片

3、实例工厂对象创建对象
Spring中的Bean配置_第6张图片

4、FactoryBean
Spring中的Bean配置_第7张图片

bean 生命周期

bean生命周期

  • 初始化容器

    1、创建对象(内存分配)

    2、执行构造方法 → (Constructor)

    3、执行属性注入(set操作) →(getter/setter)

    4、执行bean初始化方法 →(init-method)

  • 使用bean

  • 关闭/销毁容器

    • 执行bean销毁方法(destory-method)

Spring中的Bean配置_第8张图片

方法一:生命周期控制

在配置文件中指定控制方法

Spring中的Bean配置_第9张图片

方法二:使用接口控制

分别实现 Initializingbean方法和 DisposableBean接口

Spring中的Bean配置_第10张图片

总结

Spring中的Bean配置_第11张图片

你可能感兴趣的:(spring,java,rpc)