`
yjhexy
  • 浏览: 332296 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

Spring init与destroy无侵入建议用法

阅读更多
总的说来spring给我们提供了一个方法对一个bean的生成行为作一点自定义。但若用
org.springframework.beans.factory.InitializingBean
org.springframework.beans.factory.DisposableBean 的话这产意味着spring对你的系统
有侵入。所以spring推荐我们不要这么做。它给我们提供的两个更好的做法

1:对间个的bean进行配制如下

    <bean id="pluginBean" class="com.abc.beans.PluginBean" destroy-method="destroy" init-method="init">
        <property name="count">
            <value>8</value>
        </property>
    </bean>


2:下面的这种做法其实是对上面做法的简化。因为在一个系统的开发过程中对于init与destroy方法的命名
一般来说是一样的,若不一样从项目的角度来也很有必要进行一个统一。所以在这思想下就产生了如下的做



<beans default-init-method="init" default-destroy-method="destroy">

    <bean id="blogService" class="com.foo.DefaultBlogService">
        <property name="blogDao" ref="blogDao" />
    </bean>

</beans>


这样做后凡是在这个beanfactory中定义的bean只要有init与destroy这两个方法。spring框架则会
在恰当的时机调用这两个方法。这样就避免了在每一个bean上写同样的代码。

3:若一个bean同时有实现上面的接口而且又以配制形式指定定了相应方法。则实际上这两个方法都会
被调用。调用的顺序是先接中然后配制。
分享到:
评论

相关推荐

    Spring学习笔记(精华全记录)

    - **销毁**:同样地,Spring支持通过`destroy-method`属性指定销毁方法,也可以通过实现`DisposableBean`接口并覆盖`destroy()`方法来实现。这对于释放资源或清理环境非常有用。 #### 使用Spring容器 - **...

    Spring系列面试题129道(附答案解析)

    35、使用Spring访问Hibernate的方法有哪些? 使用Spring访问Hibernate的方法包括: - 使用Spring的HibernateTemplate和HibernateDaoSupport类。 - 使用LocalSessionFactoryBean来配置SessionFactory。 - 使用@...

    Java相关课程系列笔记之十五Spring学习笔记

    5. **为Bean对象执行初始化和销毁方法**:可以定义`init-method`和`destroy-method`属性,指定初始化和销毁时执行的方法。 6. **案例**:整合测试中,通常会创建一个Spring配置文件,定义Bean,然后通过测试类获取...

    三歪教你Spring2

    - **init-method和destroy-method**:指定Bean的初始化和销毁方法。 - **Bean创建细节**:深入理解Bean的生命周期,包括实例化、初始化、使用和销毁。 7. **对象依赖与依赖注入** - **对象依赖的传统方式**:...

    Spring2.5的新特性

    比如,可以使用@PostConstruct和@PreDestroy注解来替代XML配置中的init-method和destroy-method属性。 **新的Web控制器模型** Spring2.5引入了一个新的Web控制器模型,它允许开发者将HTTP请求直接映射到加注解的...

    SPRING面试宝典

    3. **非侵入性**:Spring并不强制开发者使用特定的设计模式或编码方式,而是尽可能地适应现有的代码结构。 4. **强大的社区支持**:Spring拥有庞大的开发者社区,这意味着有丰富的资源和支持可用。 5. **广泛的集成...

    spring相关面试问题.docx

    7. **销毁回调**:当容器关闭时,Spring 会调用 Bean 的销毁方法,如 destroy-method 指定的方法,清理资源。 了解这些知识点,有助于深入理解 Spring 框架的工作原理,更好地进行企业级应用开发。在面试中,掌握...

    Spring面试题(2024最新版)-重点.docx

    - Spring框架中使用了工厂模式(BeanFactory)、单例模式、策略模式、模板方法模式等多种设计模式。 6. **核心容器(Spring Context)** - Spring Context提供了全局的Bean访问,并且可以发布事件、加载资源文件...

    Spring6_pdf版讲义.pdf

    - **非侵入式**:Spring框架可以与现有的代码无缝集成,无需特定的API。 - **轻量级**:Spring本身并不做任何具体的应用逻辑,而是作为其他组件和服务的桥梁。 - **易于测试**:Spring提供了一套完善的测试支持工具...

    拿捏面试官-Spring AOP IOC源码笔记

    - **侵入式概念**:传统Java EE应用中,业务逻辑与框架代码紧密耦合,Spring通过IOC降低这种耦合,让开发者更专注于业务逻辑。 - **松耦合概念**:Spring通过依赖注入(DI)实现了组件间的松耦合,使得组件更容易...

    spring框架案例学习文档笔记

    - **生命周期管理**:通过`init-method`和`destroy-method`指定Bean的初始化和销毁方法。 #### 使用Annotation配置Spring - **Annotation配置**:使用注解简化配置文件,使得代码更简洁。 - `@Component`:标记一...

    北京百度Java中级面试真题

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

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

    3. 在bean配置文件中定义自定义的init()和destroy()方法。 4. 使用注解@PostConstruct和@PreDestroy来标记初始化和销毁方法。 **Spring IOC的实现** Spring的IoC(Inversion of Control,控制反转)通过BeanFactory...

    第10章 Java Servlet技术.ppt

    Java Servlet 技术是Web开发中的核心组成部分,它允许开发者使用Java语言创建动态、交互式的Web应用。...在实际开发中,Servlet通常与MVC框架(如Spring MVC)结合使用,提供更高级别的抽象和便利性。

    servlet-api.zip_servetjar包

    Servlet API定义了Servlet的生命周期方法,如`init()`, `service()`, `destroy()`,以及`doGet()`和`doPost()`等方法,帮助开发者处理客户端的请求并返回响应。 2. **Filter**: Filter接口允许开发者创建过滤器,...

Global site tag (gtag.js) - Google Analytics