spring核心技术概要2
2021-07-17 10:04
标签:bst ini ima XML com template 应用程序 系统路径 reg IOC 即控制反转,将对象的生命周期管理、关系依赖通过容器实现,实现解耦。 ApplicationContext是最关键的入口,其包括几种实现: FileSystemXmlApplicationContext,从 XML 文件中加载被定义的 bean对象,基于文件系统路径加载配置; ClassPathXmlApplicationContext,从 XML 文件中加载被定义的 bean对象,基于类路径加载配置; WebXmlApplicationContext,从 XML 文件中加载被定义的 bean对象,基于 web 应用程序范围加载配置; 每一个 Spring IoC 容器中保持一个单一实例(默认)。 bean 的实例可为任意数量。 该作用域将 bean 的定义限制为 HTTP 请求。只在 web-aware Spring ApplicationContext 的上下文中有效。 该作用域将 bean 的定义限制为 HTTP 会话。 只在web-aware Spring ApplicationContext的上下文中有效。 该作用域将 bean 的定义限制为全局 HTTP 会话。只在 web-aware Spring ApplicationContext 的上下文中有效。 Bean 的初始化及销毁对应 init 及 destroy 两个行为,可通过实现 InitializingBean/DisposableBean 接口观察对象的初始化及销毁时机。 代码片段: 为了使spring获得 destroy 行为的监视机会,需要注册JVM关闭回调: init/destroy拦截 实现 BeanPostProcessor 接口,并注册到配置文件 通常可将一组属性归集为bean模板以实现复用 POJO 定义 spring核心技术概要2 标签:bst ini ima XML com template 应用程序 系统路径 reg 原文地址:https://www.cnblogs.com/littleatp/p/5807288.html
四、IOC 容器
五、Bean 管理
5.1 作用域
singleton
prototype
request
session
global-session
5.2 生命周期
public void afterPropertiesSet() throws Exception {
System.out.println(this + "-- properties set");
}
public void init() {
System.out.println(this + "-- init");
}
public void destroy() {
System.out.println(this + "-- destroy");
}
context.registerShutdownHook();
bean class="xxx.MyBeanPostProcessor" />
5.3 bean模板
bean id="template" abstract="true">
property name="support" value="true" />
property name="count" value="10" />
bean>
bean id="tplbean" class="org.springfoo.core.bean.TplBean" parent="template">
property name="message" value="I‘m inheritted from template" />
bean>
public class TplBean {
private String message;
private boolean support;
private Integer count;
...