`
付绍高
  • 浏览: 37003 次
  • 性别: Icon_minigender_1
  • 来自: 江西临川
社区版块
存档分类
最新评论

Bean的初始化和销毁

阅读更多

一、Bean的初始化
   
有两种方式初始化Bean
       1
、在配置文档中通过指定init-method 属性来完成
            
Bean的类中实现一个初始化Bean属性的方法,如init(),如:
                public class HelloWorld{
                      public String msg=null;
                      public Date date=null;
                  
                      public void init() {
                            msg="
向全世界问好!";
                            date=new Date();
                      }
                      ......
                }
            
然后,在配置文件中设置init-mothod属性:
  
          <bean id="HelloWorld" class="com.fendou.bean.HelloWorld" init-mothod="init" >

            </bean>


       2
、实现 org.springframwork.beans.factory.InitializingBean接口
             Bean
实现InitializingBean接口,并且增加 afterPropertiesSet() 方法:

             public class HelloWorld implement InitializingBean {
                      public String msg=null;
                      public Date date=null;
                  
                      public void afterPropertiesSet() {
                            msg="
向全世界问好!";
                            date=new Date();
                      }
                      ......
                }
         
            
那么,当这个Bean的所有属性被SpringBeanFactory设置完后,会自动调用afterPropertiesSet()方法对Bean进行初始化,于是,配置文件就不用指定 init-method属性了。

 

二、Bean的销毁  
       1
、使用配置文件中的 destory-method 属性
         
与初始化属性 init-methods类似,在Bean的类中实现一个撤销Bean的方法,然后在配置文件中通过 destory-method指定,那么当bean销毁时,Spring将自动调用指定的销毁方法。

       2
、实现 org.springframwork.bean.factory.DisposebleBean接口
         
如果实现了DisposebleBean接口,那么Spring将自动调用bean中的Destory方法进行销毁,所以,Bean中必须提供Destory方法。

分享到:
评论

相关推荐

    Spring Bean的初始化和销毁实例详解

    Spring Bean的初始化和销毁实例详解 Spring Bean的初始化和销毁是Spring框架中一个非常重要的概念,它们都是Bean生命周期中不可或缺的一部分。在Spring框架中,我们可以使用多种方式来控制Bean的初始化和销毁,以下...

    Spring bean初始化及销毁你必须要掌握的回调方法.docx

    下面将详细介绍如何通过不同方式定义Spring Bean的初始化和销毁回调方法。 **初始化回调方法** 1. **@PostConstruct注解** 这个Java标准注解用于标记一个方法,该方法将在对象完全构造后但在业务逻辑执行前被调用...

    Spring Bean创建初始化流程.docx

    9. **Bean初始化**: 最后,`initializeBean(beanName, exposedObject, mbd)`对创建好的Bean进行初始化,包括调用初始化方法(如果有`@PostConstruct`注解的方法),以及执行AOP代理等操作。 整个流程中,Spring...

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

    Spring框架中,Bean的初始化和销毁是非常重要的两个生命周期过程。今天我们将讨论Spring中 Bean 的初始化和销毁的实现方法。 1. 通过@Bean指定init-method和destroy-method 在 Spring 中,我们可以使用 @Bean 注解...

    spring容器初始化bean和销毁bean之前进行一些操作的方法

    此外,Spring提供了BeanPostProcessor接口,允许我们在Bean初始化前后进行自定义处理。通过实现`postProcessBeforeInitialization()`和`postProcessAfterInitialization()`方法,可以在Bean实例化和初始化之后进行...

    Spring Bean初始化及销毁多种实现方式

    Spring 提供了多种不同的方式来初始化和销毁 Bean,这些方式包括 init-method/destroy-method、InitializingBean/DisposableBean、@PostConstruct/@PreDestroy 和 ContextStartedEvent/ContextClosedEvent 等。...

    SSH笔记-IOC容器中 Bean 的生命周期

    在SSHnote_Spring_9_LifeCycle这个文件中,可能包含了详细的示例代码和讲解,展示了如何创建一个实现`BeanPostProcessor`的类,并在Bean初始化和销毁时添加自定义逻辑。通过学习这部分内容,你可以更深入地理解...

    ejb状态bean和消息bean的源代码

    - 可选的`@PostConstruct`和`@PreDestroy`注解:分别表示Bean初始化和销毁时执行的方法。 例如: ```java @Stateful public class ShoppingCartBean implements ShoppingCartLocal { private List&lt;Item&gt; items; ...

    day38 16-Spring的Bean的装配:注解的方式

    6. **生命周期方法**:使用`@PostConstruct`和`@PreDestroy`注解来定义Bean初始化和销毁时执行的方法。 ```java @Service public class ServiceWithLifecycle { @PostConstruct public void init() { // 初始化...

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

    BeanFactory提供了对bean初始化和销毁方法的控制,允许在bean实例化时注入依赖。 ApplicationContext则更加强大,它不仅具备BeanFactory的所有功能,还提供了更多高级特性。例如,ApplicationContext支持国际化,这...

    @PostConstruct 和 @PreDestroy 使用

    这两个注解是JSR 250规范的一部分,提供了对bean初始化和销毁过程的控制。 `@PostConstruct` 注解用于标记一个方法,该方法会在bean实例被创建并注入所有依赖之后,但在服务对象变为可用之前调用。这是一个初始化...

    详解如何在低版本的Spring中快速实现类似自动配置的功能

    可以通过实现InitializingBean接口、使用@PostConstruct注解、指定init-method,以及实现DisposableBean接口、使用@PreDestroy注解、指定destroy-method来分别控制Bean初始化和销毁时的行为。 2. **XxxAware接口**...

    Spring核心API介绍-后续还会更新.pdf

    它们分别指定了Bean初始化和销毁时要调用的方法,这对于实现Bean的生命周期回调非常关键。例如,当Bean被创建后,Spring会尝试调用标记为initMethodName的方法,而在Bean不再需要时,会调用destroyMethodName指定的...

    spring 配置文件简单说明

    8. `init-method`和`destroy-method`: 分别指定Bean初始化和销毁时要调用的方法。 9. `abstract`: 如果设为`true`,表示Bean是抽象的,不会实例化,通常用于作为其他Bean的父配置。 10. `factory-method`: 指定一...

    spring基础源码

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

    spring 配置文件

    可以使用`init-method`和`destroy-method`属性指定bean初始化和销毁时要调用的方法。 9. **AOP配置** 在XML配置中,可以使用`&lt;aop:config&gt;`和`&lt;aop:aspect&gt;`标签来定义切面和通知。而在注解配置中,可以使用`@...

    spring.docx

    例如,`scope`属性可以设置bean的作用域(如singleton、prototype等),`init-method`和`destroy-method`用于指定bean初始化和销毁时执行的方法。 此外,`pom.xml`文件展示了Maven的依赖管理,其中引入了Spring的...

    Spring_SpEl表达式使用用例

    9. **SpEL表达式在Bean初始化和销毁中的应用** Bean的初始化和销毁方法可以通过SpEL表达式指定,如`init-method="#{T(com.example.util.MyUtil).initMethod()}"`。 10. **SpEL在Spring Data JPA中的使用** 在...

    EJB使用范例

    8. **生命周期方法**:EJB提供了一些生命周期回调方法,如`@PostConstruct`和`@PreDestroy`,可以在bean初始化和销毁时执行特定的代码。 9. **并发控制**:对于有状态会话bean,容器管理并发,确保同一时间只有一个...

Global site tag (gtag.js) - Google Analytics