Spring 自定义对象初始化及销毁
2017-05-21 21:06
211 查看
– Start
有些对象实例化时,我们需要打开某些资源,而在销毁对象时将这些资源关闭,Spring 允许我们自定义初始化和销毁方法,下面是一个简单的例子。
如果你有很多这样的对象且它们的初始化和销毁方法名相同,我们可以定义默认的初始化和销毁方法。
如果使用 Java 配置文件,我们可以使用 @PostConstruct 和 @PreDestroy 注解,或@Bean(initMethod = “init”, destroyMethod = “destroy”)
– 更多参见:Spring Framework 精萃
– 声 明:转载请注明出处
– Last Updated on 2017-06-17
– Written by ShangBo on 2017-05-21
– End
有些对象实例化时,我们需要打开某些资源,而在销毁对象时将这些资源关闭,Spring 允许我们自定义初始化和销毁方法,下面是一个简单的例子。
package shangbo.spring.core.example9; public class OutPutService { // 初始化方法 public void init() { System.out.println("Enter init"); } // 销毁方法 public void destroy() { System.out.println("Enter destroy"); } public void outPut() { System.out.println("Hello World"); } }
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- init-method 指定初始化方法 destroy-method 指定销毁方法 --> <bean class="shangbo.spring.core.example9.OutPutService" init-method = "init" destroy-method = "destroy"/> </beans>
package shangbo.spring.core.example9; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class App { public static void main(String[] args) { // 实例化 Spring IoC 容器 ApplicationContext context = new ClassPathXmlApplicationContext("example.xml", OutPutService.class); // 从容器中获得 OutPutService 对象 OutPutService printer = context.getBean(OutPutService.class); // 使用对象 printer.outPut(); } }
如果你有很多这样的对象且它们的初始化和销毁方法名相同,我们可以定义默认的初始化和销毁方法。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd" default-init-method = "init" default-destroy-method = "destroy" > <!-- default-init-method 指定默认初始化方法 default-destroy-method 指定默认销毁方法 --> <bean class="shangbo.spring.core.example10.OutPutService"/> </beans>
如果使用 Java 配置文件,我们可以使用 @PostConstruct 和 @PreDestroy 注解,或@Bean(initMethod = “init”, destroyMethod = “destroy”)
package shangbo.spring.core.example11; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; public class OutPutService { // 初始化方法 @PostConstruct public void init() { System.out.println("Enter init"); } // 销毁方法 @PreDestroy public void destroy() { System.out.println("Enter destroy"); } public void outPut() { System.out.println("Hello World"); } }
package shangbo.spring.core.example11; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class AppConfig { //@Bean(initMethod = "init", destroyMethod = "destroy") @Bean public OutPutService outPutService() { return new OutPutService(); } }
package shangbo.spring.core.example11; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class App { public static void main(String[] args) { // 实例化 Spring IoC 容器,也可以一次读取多个Java配置文件 ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); // 从容器中获得 Service 对象 OutPutService printer = context.getBean(OutPutService.class); // 使用对象 printer.outPut(); } }
– 更多参见:Spring Framework 精萃
– 声 明:转载请注明出处
– Last Updated on 2017-06-17
– Written by ShangBo on 2017-05-21
– End
相关文章推荐
- spring(IOC) 对象创建时机、对象作用域scope、对象的初始化方法和销毁方法的调用、spring容器总结
- Spring.NET教程(九)——自定义对象行为(基础篇)
- spring生命周期管理-初始化与销毁
- Spring笔记:定制Bean的初始化和销毁过程
- Spring创建对象初始化bean的时机分为两种形式:
- spring初始化在ServletContextListener实现类中获取spring注入对象
- 自定义UserControl中包含封装了集合对象的属性被设计器自动初始化所引起的错误
- 对象初始化和销毁的次序
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- Spring.Net 如何管理您的类___自定义对象行为
- 随spring context初始化完成后init自定义bean
- Spring定制bean的初始化和销毁工作
- spring中bean的作用域与懒加载及初始化方法和销毁方法以及spring容器的正常关闭
- Spring下的Bean初始化和销毁两种方式
- 第四章 Spring.Net 如何管理您的类___自定义对象行为
- spring生命周期管理-初始化与销毁
- Spring学习笔记-Bean初始化&销毁
- Spring中bean的初始化和销毁之前的方法XML和注解的两种形式
- Spring 实例化bean的初始化方法和销毁方法 init-method destroy-method
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作