Bean Life Cycle (Initialization & Destory)
We have 3 ways to control th life-cycle of Bean.
1) @PostConstruct and @PreDestory
2) afterPropertiesSet() from interface InitializingBean
destory() from interface DisposableBean
3) Standard method naming, init() & destory()
Above are 3 mechanisms, if applying the mechanisms to one bean with different method names,the sequence would be :
INFO [com.vincent.spring.main.LifeCycleBean] - LifeCycleBean Constructor
INFO [com.vincent.spring.main.LifeCycleBean] - postConstruct
INFO [com.vincent.spring.main.LifeCycleBean] - AfterPropertiesSet
INFO [com.vincent.spring.main.LifeCycleBean] - init
if with same names, will only be excuted once.
In applicationcontext.xml, should add below:
<bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor" />
For @PostConstruct & @PreDestory,we need to add the dependency of "javax.annotation" to pom.xml.
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>jsr250-api</artifactId>
<version>1.0</version>
</dependency>
分享到:
相关推荐
在Spring框架中,Bean生命周期控制是一项关键特性,它允许开发者对Bean从创建到销毁的整个过程进行精细管理。本文将深入探讨Spring Bean的生命周期,并通过实际示例来演示如何运用这些概念。 首先,Spring Bean的...
- **Bean 行为配置元素**:如作用域(scope)、自动绑定模式(autowiring mode)、生命周期回调方法(lifecycle callbacks)等,这些决定了 Bean 如何被实例化和管理。 - **依赖**:Bean 可能与其他 Bean 有依赖...
标题中的"spring-lifecycle"暗示了这个项目专注于探索Spring框架中bean的生命周期管理。让我们深入了解一下Spring框架的生命周期及其相关的知识点。 在Spring中,bean的生命周期是指从创建到销毁的整个过程,它包括...
本篇文章将深入探讨Spring Bean的生命周期注解以及不同Bean注入注解之间的区别。 一、Bean的生命周期注解 1. `@PostConstruct`:此注解用于标记一个方法,该方法将在Bean初始化完成后,但在任何依赖注入之前执行。...
Spring还提供了Lifecycle接口,允许更灵活的生命周期管理。这个接口包含start()和stop()方法,适合于那些需要启动和停止操作的Bean,比如数据库连接池。 在Spring容器中,Bean的生命周期还包括容器感知的初始化和...
《Spring学习笔记之bean生命周期》 在Spring框架中,Bean是核心组件,它们构成了应用程序的主要结构。理解Spring Bean的生命周期对于有效地管理和优化Spring应用程序至关重要。本文将深入探讨Spring Bean的生命周期...
在Spring框架中,ApplicationContext是应用的核心,它管理着所有Bean的生命周期。本章将深入探讨Spring应用上下文的生命周期,从启动准备阶段到关闭阶段,包括各个关键步骤和相关组件的作用。 1. **Spring 应用上...
- Bean lifecycle interfaces - Customizing beans using BeanPostProcessors and BeanFactoryPostProcessors - Bean definition inheritance - JSR 250's and 330's annotations for dependency injection - ...
<bean id="lifecyclebean" class="cn.itcast.spring.d_lifecycle.lifecyclebean" init-method="setup" destroy-method="teardown"> </bean> ``` - 需要注意的是,`destroy-method`仅对单例`scope="singleton"`...
为了将Socket服务与Spring框架结合,我们可以创建一个Spring Bean,该Bean负责初始化和管理Socket服务。这个Bean可以是一个`@Component`或`@Service`注解的类,其中包含创建ServerSocket和处理连接的方法。 2. **...
- **生命周期管理(Lifecycle Management)**:处理Bean的初始化、销毁方法调用。 **4. 创建Bean定义** 在模拟过程中,我们可以使用一个简单的Java类(例如,`BeanDefinition`)来表示Bean的定义,包含类名、属性值...
3.5.1. Lifecycle接口 3.5.1.1. 初始化回调 3.5.1.2. 析构回调 3.5.2. 了解自己 3.5.2.1. BeanFactoryAware 3.5.2.2. BeanNameAware 3.6. bean定义的继承 3.7. 容器扩展点 3.7.1. 用BeanPostProcessor定制bean 3.7....
在Spring工程中,我们常常会使用Maven的生命周期(Lifecycle)和插件(Plugins)。例如,`mvn compile`命令会编译源代码,`mvn test`则会执行单元测试,而`mvn package`会打包应用为可部署的格式,如JAR或WAR。此外...
此外,还可以使用Lifecycle接口或InitializingBean和DisposableBean接口来控制Bean的生命周期。 6. **AOP(面向切面编程)与Bean**: AOP是Spring提供的另一个重要特性,用于处理系统中的横切关注点,如日志、事务...
在SSHnote_Spring_9_LifeCycle这个文件中,可能包含了详细的示例代码和讲解,展示了如何创建一个实现`BeanPostProcessor`的类,并在Bean初始化和销毁时添加自定义逻辑。通过学习这部分内容,你可以更深入地理解...
Spring还提供了另一个扩展点——**BeanPostProcessor**,它允许我们对已经创建的Bean实例进行定制逻辑回调,比如在Bean创建后执行特定操作。 关于Bean的定制,有以下几种常见方式: 1. **Lifecycle Callback**:...
Spring Bean有多种作用域,如单例(Singleton)、原型(Prototype)、请求(Request)、会话(Session)和全局会话(Global Session)。不同的作用域决定了Bean的创建和共享策略。 10. **AOP(面向切面编程)与IoC...
在4.3版本中,Spring提供了多种方式来控制Bean的生命周期,如init-method和destroy-method属性,以及实现了InitializingBean和DisposableBean接口。此外,Lifecycle接口允许自定义启动和停止逻辑。 4. **AOP(面向...
3.5.1. Lifecycle接口 3.5.2. 了解自己 3.6. bean定义的继承 3.7. 容器扩展点 3.7.1. 用BeanPostProcessor定制bean 3.7.2. 用BeanFactoryPostProcessor定制配置元数据 3.7.3. 使用FactoryBean定制实例化逻辑 ...