标签: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 接口观察对象的初始化及销毁时机。
代码片段:
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"); }
为了使spring获得 destroy 行为的监视机会,需要注册JVM关闭回调:
context.registerShutdownHook();
init/destroy拦截
实现 BeanPostProcessor 接口,并注册到配置文件
<bean class="xxx.MyBeanPostProcessor" />
通常可将一组属性归集为bean模板以实现复用
<!-- template --> <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>
POJO 定义
public class TplBean { private String message; private boolean support; private Integer count; ...
标签:bst ini ima XML com template 应用程序 系统路径 reg
原文地址:https://www.cnblogs.com/littleatp/p/5807288.html