spring: bean初始化和销毁方法
2015-03-14 00:00
393 查看
摘要: 这是一个“让spring容器自动在bean设置注入之前和bean销毁之后调用方法”的实例:
1、在bean设值注入之后:实现InitializingBean接口 / 在bean里配置<init-method>
2、在bean销毁之前:实现DisposableBean接口 / 在bean里配置<destroy-method>
3、这些方法的作用例如:简历数据库连接,读取初始化资源,关闭数据库连接,关闭磁盘资源等等
1、在bean设值注入之后:实现InitializingBean接口 / 在bean里配置<init-method>
2、在bean销毁之前:实现DisposableBean接口 / 在bean里配置<destroy-method>
3、这些方法的作用例如:简历数据库连接,读取初始化资源,关闭数据库连接,关闭磁盘资源等等
package exm.spring.bean; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.InitializingBean; public class User implements InitializingBean, DisposableBean{ private String name; private String password; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } /** * 在bean销毁之前调用 */ @Override public void destroy() throws Exception { System.out.println("--------destroy()--------"); } /** * 在bean设值注入之后调用 */ @Override public void afterPropertiesSet() throws Exception { System.out.println("--------afterPropertiesSet()--------"); } public void initBean() { System.out.println("<init-method>"); } public void destroyBean() { System.out.println("<destroy-method>"); } } package exm.spring.bean; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { public static void main(String[] args) { ApplicationContext aac = new ClassPathXmlApplicationContext("bean.xml"); Service service = aac.getBean("service", Service.class); //每次从Service得到的User都不一样 System.out.println(service.createUser()); System.out.println(service.createUser()); ((ClassPathXmlApplicationContext)aac).close(); } } <!-- 配置文件 --> <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" 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"> <bean id="user" class="exm.spring.bean.User" scope="prototype" init-method="initBean" destroy-method="destroyBean"> </bean> <!-- 如果要在Service中每次获得User,则在配置中User不要注入到Service --> <bean id="service" class="exm.spring.bean.Service"> </bean> </beans>
相关文章推荐
- Spring容器中定义Bean几种初始化方法和销毁方法
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- Spring容器中的Bean几种初始化方法和销毁方法的先后顺序
- Spring容器中的Bean几种初始化方法和销毁方法的先后顺序
- Spring容器中的Bean几种初始化方法和销毁方法的先后顺序
- Spring中bean初始化时机初始化方法和销毁方法
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- Spring中bean的初始化和销毁之前的方法XML和注解的两种形式
- spring中bean的作用域与懒加载及初始化方法和销毁方法以及spring容器的正常关闭
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- Spring bean 通过实现 InitializingBean ,DisposableBean 接口实现初始化方法和销毁前操作
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- Spring中bean的初始化和销毁之前的方法XML和注解的两种形式
- Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- Spring容器中的Bean几种初始化方法和销毁方法的先后顺序
- Spring——Bean的初始化方法和销毁方法