1.spring初始化bean的时候,如果bean实现了InitializingBean接口,会自动调用afterPropertiesSet()方法。
2.spring销毁bean的时候,如果bean实现了DisposableBean接口,会自动调用destroy()方法。
使用:
InitializingBean:afterPropertiesSet()--服务启动的时候会自动调用,启动webservice、定时任务等
DisposableBean:destroy()--销毁所有在afterPropertiesSet启动的任务
3.代码
public class TestSpringInit implements InitializingBean,DisposableBean{
/**
*启动旁挂的webservice,定时任务...
* (non-Javadoc)
* @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet()
*/
@Override
public void afterPropertiesSet() throws Exception {
startAllSystemTasks();
}
/**
* 销毁afterPropertiesSet()方法中启动的任务
* (non-Javadoc)
* @see org.springframework.beans.factory.DisposableBean#destroy()
*/
@Override
public void destroy() throws Exception {
stopAllSystemTasks();
}
private void stopAllSystemTasks() throws Exception{
...
}
private void startAllSystemTasks() throws Exception{
...
}
}
分享到:
相关推荐
Spring Bean 的生命周期 ...> InitializingBean 和 DisposableBean 回调接口 > 针对特殊行为的其他 Aware 接口 > Bean 配置文件中的 Custom init()方法和 destroy()方法 > @PostConstruct 和@PreDestroy 注解方式
ingBean 和 DisposableBean 接口 当不使用注解而是通过实现接口的方式来控制 Bean 的生命周期时,可以实现 InitializingBean 和 DisposableBean 接口。这两个接口由 Spring 提供,它们包含两个方法: - ...
本文将详细讨论在Spring中使用`@PostConstruct`和`@PreDestroy`注解以及`InitializingBean`和`DisposableBean`接口来控制Bean的生命周期。 1. **使用@PostConstruct和@PreDestroy注解** `@PostConstruct`注解标记...
编程式通过实现接口如InitializingBean和DisposableBean,然后重写其特定方法(afterPropertiesSet()和destroy())来控制Bean的初始化和销毁。声明式则是在XML配置文件中使用`init-method`和`destroy-method`属性来...
Spring框架通过回调方法(InitializingBean和DisposableBean接口,以及其他Aware接口)以及在配置文件中声明的init()和destroy()方法来管理bean的生命周期。此外,还可以使用@PostConstruct和@PreDestroy注解来指定...
此外,生命周期接口,如InitializingBean和DisposableBean,以及自定义的工厂方法,都是控制Bean生命周期的重要手段。 时序图是理解系统间交互的利器。在Spring框架中,时序图可能涵盖了各种场景,如请求的处理流程...
Bean可以通过实现InitializingBean和DisposableBean接口,或者在配置文件中定义init-method和destroy-method来声明初始化和销毁回调方法。另外,Spring 3.0引入的注解@PostConstruct和@PreDestroy也可以标记初始化和...
另外,实现InitializingBean和DisposableBean接口也可以自定义初始化和销毁方法。在XML配置中,可以使用元素来设置bean的属性,其中引用其他bean,设置常量值,则将属性设为null。 Spring的JDBC模板包括...
开发者可以通过实现InitializingBean和DisposableBean接口,或者使用@PostConstruct和@PreDestroy注解来控制生命周期方法。 4. **数据访问支持**:Spring支持多种数据存取技术,包括JDBC、ORM(Hibernate、JPA)和...
源码中的 BeanPostProcessor 接口允许自定义 Bean 初始化和销毁前后的逻辑,而 InitializingBean 和 DisposableBean 接口提供了默认的初始化和销毁方法。 7. **SpEL(Spring Expression Language)** SpEL 是 ...
此外,Spring还提供了接口如InitializingBean和DisposableBean,实现这些接口的Bean可以覆盖其中的方法来自定义初始化和销毁逻辑。 总结来说,"Spring第一天学习笔记"涵盖了Spring框架的核心——IOC容器的使用,...
开发者可以通过实现InitializingBean和DisposableBean接口,或者使用@PostConstruct和@PreDestroy注解来控制生命周期方法。 5. **数据访问集成**:Spring支持多种数据库访问技术,如JDBC、ORM(Hibernate、MyBatis...
3. 自定义Bean:通过实现InitializingBean和DisposableBean接口,或者使用@PostConstruct和@PreDestroy注解,实现Bean的初始化和销毁逻辑。 4. AOP编程:了解AspectJ和Spring AOP的原理,编写切面类,并通过@Aspect...
1. 实现InitializingBean和DisposableBean接口的回调方法。 2. 使用其他Aware接口(如ApplicationContextAware)来感知特定上下文信息。 3. 在bean配置文件中定义自定义的init()和destroy()方法。 4. 使用注解@...
我们可以自定义bean的生命周期,比如通过实现InitializingBean和DisposableBean接口,或者使用@PostConstruct和@PreDestroy注解来指定初始化和销毁方法。 3. **AOP(面向切面编程)**:Spring的AOP模块允许我们在不...
我们还可以让 Bean 实现 InitializingBean 和 DisposableBean 接口来实现初始化和销毁逻辑。例如: ```java @Component public class Cat implements InitializingBean,DisposableBean { public Cat(){ System....
SpringBeans-3.0.2.RELEASE.jar还包含了一些关键接口,如BeanPostProcessor允许自定义Bean实例化后的处理逻辑,InitializingBean和DisposableBean分别用于标识初始化和销毁方法。同时,该版本的Spring支持AOP(面向...
Spring提供了多种方式来管理Bean的生命周期,包括配置元数据(如`init-method`和`destroy-method`属性)、实现InitializingBean和DisposableBean接口、使用JSR-250注解(@PostConstruct和@PreDestroy)等。Bean的生命...
开发者可以自定义生命周期行为,如通过实现InitializingBean和DisposableBean接口,或者使用@PostConstruct和@PreDestroy注解。此外,还可以定义Bean的初始化和销毁方法,或者使用Bean的scope属性来决定其作用域...