`
sha1064616837
  • 浏览: 40447 次
  • 性别: Icon_minigender_2
  • 来自: 湖南
社区版块
存档分类
最新评论

InitializingBean和DisposableBean

阅读更多
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{
		...
	}
	
}
分享到:
评论

相关推荐

    开源框架面试专题及答案.pdf

    Spring Bean 的生命周期 ...> InitializingBean 和 DisposableBean 回调接口 > 针对特殊行为的其他 Aware 接口 > Bean 配置文件中的 Custom init()方法和 destroy()方法 > @PostConstruct 和@PreDestroy 注解方式

    浅尝Spring注解开发_Bean生命周期及执行过程.doc

    ingBean 和 DisposableBean 接口 当不使用注解而是通过实现接口的方式来控制 Bean 的生命周期时,可以实现 InitializingBean 和 DisposableBean 接口。这两个接口由 Spring 提供,它们包含两个方法: - ...

    14、加载spring启动首先进入的类方法注解1

    本文将详细讨论在Spring中使用`@PostConstruct`和`@PreDestroy`注解以及`InitializingBean`和`DisposableBean`接口来控制Bean的生命周期。 1. **使用@PostConstruct和@PreDestroy注解** `@PostConstruct`注解标记...

    Spring part 2 :Bean的生命周期

    编程式通过实现接口如InitializingBean和DisposableBean,然后重写其特定方法(afterPropertiesSet()和destroy())来控制Bean的初始化和销毁。声明式则是在XML配置文件中使用`init-method`和`destroy-method`属性来...

    北京百度Java中级面试真题

    Spring框架通过回调方法(InitializingBean和DisposableBean接口,以及其他Aware接口)以及在配置文件中声明的init()和destroy()方法来管理bean的生命周期。此外,还可以使用@PostConstruct和@PreDestroy注解来指定...

    Spring源码解析Xmind思维导图

    此外,生命周期接口,如InitializingBean和DisposableBean,以及自定义的工厂方法,都是控制Bean生命周期的重要手段。 时序图是理解系统间交互的利器。在Spring框架中,时序图可能涵盖了各种场景,如请求的处理流程...

    百度-Java面试.pdf

    Bean可以通过实现InitializingBean和DisposableBean接口,或者在配置文件中定义init-method和destroy-method来声明初始化和销毁回调方法。另外,Spring 3.0引入的注解@PostConstruct和@PreDestroy也可以标记初始化和...

    Spring学习笔记

    另外,实现InitializingBean和DisposableBean接口也可以自定义初始化和销毁方法。在XML配置中,可以使用元素来设置bean的属性,其中引用其他bean,设置常量值,则将属性设为null。 Spring的JDBC模板包括...

    SpringFramework3源码

    开发者可以通过实现InitializingBean和DisposableBean接口,或者使用@PostConstruct和@PreDestroy注解来控制生命周期方法。 4. **数据访问支持**:Spring支持多种数据存取技术,包括JDBC、ORM(Hibernate、JPA)和...

    spring基础源码

    源码中的 BeanPostProcessor 接口允许自定义 Bean 初始化和销毁前后的逻辑,而 InitializingBean 和 DisposableBean 接口提供了默认的初始化和销毁方法。 7. **SpEL(Spring Expression Language)** SpEL 是 ...

    day_01.rar

    此外,Spring还提供了接口如InitializingBean和DisposableBean,实现这些接口的Bean可以覆盖其中的方法来自定义初始化和销毁逻辑。 总结来说,"Spring第一天学习笔记"涵盖了Spring框架的核心——IOC容器的使用,...

    Spring深入浅出教程

    开发者可以通过实现InitializingBean和DisposableBean接口,或者使用@PostConstruct和@PreDestroy注解来控制生命周期方法。 5. **数据访问集成**:Spring支持多种数据库访问技术,如JDBC、ORM(Hibernate、MyBatis...

    手写spring资料.zip

    3. 自定义Bean:通过实现InitializingBean和DisposableBean接口,或者使用@PostConstruct和@PreDestroy注解,实现Bean的初始化和销毁逻辑。 4. AOP编程:了解AspectJ和Spring AOP的原理,编写切面类,并通过@Aspect...

    互联网大厂Java中级面试真题

    1. 实现InitializingBean和DisposableBean接口的回调方法。 2. 使用其他Aware接口(如ApplicationContextAware)来感知特定上下文信息。 3. 在bean配置文件中定义自定义的init()和destroy()方法。 4. 使用注解@...

    有深度的Spring代码

    我们可以自定义bean的生命周期,比如通过实现InitializingBean和DisposableBean接口,或者使用@PostConstruct和@PreDestroy注解来指定初始化和销毁方法。 3. **AOP(面向切面编程)**:Spring的AOP模块允许我们在不...

    Spring初始化和销毁的实现方法

    我们还可以让 Bean 实现 InitializingBean 和 DisposableBean 接口来实现初始化和销毁逻辑。例如: ```java @Component public class Cat implements InitializingBean,DisposableBean { public Cat(){ System....

    spring-beans-3.0.2.RELEASE.jar.zip

    SpringBeans-3.0.2.RELEASE.jar还包含了一些关键接口,如BeanPostProcessor允许自定义Bean实例化后的处理逻辑,InitializingBean和DisposableBean分别用于标识初始化和销毁方法。同时,该版本的Spring支持AOP(面向...

    spring资料5

    Spring提供了多种方式来管理Bean的生命周期,包括配置元数据(如`init-method`和`destroy-method`属性)、实现InitializingBean和DisposableBean接口、使用JSR-250注解(@PostConstruct和@PreDestroy)等。Bean的生命...

    精简易懂~手撸Spring源码

    开发者可以自定义生命周期行为,如通过实现InitializingBean和DisposableBean接口,或者使用@PostConstruct和@PreDestroy注解。此外,还可以定义Bean的初始化和销毁方法,或者使用Bean的scope属性来决定其作用域...

Global site tag (gtag.js) - Google Analytics