| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 【Spring专题】「原理系列」全方面解析SpringFramework的Bean对象的深入分析和挖掘指南 -> 正文阅读 |
|
[Java知识库]【Spring专题】「原理系列」全方面解析SpringFramework的Bean对象的深入分析和挖掘指南 |
Spring专题系列
Bean Definition(Bean定义模型)
Bean定义包含一个叫做配置元数据的信息,容器需要知道以下内容:
属性和说明
配置元数据 Spring IOC容器与实际写入配置元数据的格式完全分离,以下是向Spring容器提供配置元数据的三种重要方法:
Bean Scopes(Bean的执行范围)
声明周期 singleton 这会将bean定义的范围限定为每个Spring IoC容器一个实例(默认)。 如果将范围设置为单例,则Spring IoC容器将创建该bean定义所定义的对象的一个实例。该单个实例存储在此类单例bean的高速缓存中,并且对该命名bean的所有后续请求和引用都返回该高速缓存的对象。 默认范围始终为单例。但是,当您只需要一个bean的一个实例时,可以在bean配置文件中将scope属性设置为singleton。
或者@Scope注解指定! prototype 将单个bean定义的范围限定为具有任意数量的对象实例。 如果将范围设置为prototype,则每次请求该特定bean时,Spring IoC容器都会创建该对象的新bean实例。通常,将原型作用域用于所有有状态的Bean,将单例作用域用于无状态的Bean。 要定义prototype范围,可以在bean配置文件中将scope属性设置为prototype。
Bean Life Cycle(Bean的声明周期) Spring bean的生命周期很容易理解。实例化bean时,可能需要执行一些初始化以使其进入可用状态。同样,当不再需要bean并将其从容器中删除时,可能需要进行一些清理。 Bean的的初始化方式和销毁方法 两个重要的Bean生命周期回调方法,这些方法在Bean初始化及其销毁时是必需的。 要定义bean的设置和拆卸,只需使用init-method和destroy-method参数声明 。
初始化回调函数 对于基于XML的配置元数据,可以使用init-method属性指定具有无效无参数签名的方法的名称。例如- 以下是类定义-
对于基于XML的配置元数据,可以使用destroy-method属性指定具有无效无参数签名的方法的名称。
以下是类定义
如果在非Web应用程序环境中使用Spring的IoC容器,例如,在富客户端桌面环境中,向JVM注册了一个关闭挂钩。这样做可以确保正常关机,并在您的Singleton bean上调用相关的destroy方法,以便释放所有资源。 初始化后设置完属性后的回调
可以简单地实现上述接口,并且可以在afterPropertiesSet()方法内部完成初始化工作,如下所示:
销毁回调函数 所述org.springframework.beans.factory.DisposableBean接口指定一个单一的方法-
可以简单地实现上述接口,并且可以在destroy()方法内完成终结工作,如下所示:
Bean Post Processors(Bean注册操作处理器)
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 0:04:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |