`
yjhexy
  • 浏览: 327402 次
  • 性别: 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的学习笔记

    (二) init-method destroy-method 不要和prototype一起用(了解) 15 第六课:annotation方式Spring 16 一、 开始使用annotation配置Spring 16 二、 @Autowired、@Qualifier 16 (一) @Autowired 16 (二) @Qualifier ...

    spring.net中文手册在线版

    使用方法的返回值进行注入 4.3.6.IFactoryObject接口的其它实现 4.3.6.1.Log4Net 4.3.7.使用depends-on 4.3.8.自动装配协作对象 4.3.9.检查依赖项 4.4.类型转换 4.4.1.枚举类型的转换 4.4.2.内置的类型转换器 4.4.3....

    spring1.2学习心得分享

    可以使用&lt;bean lazy-init=""/&gt;延缓实例化 可以使用&lt;beans default-lazy-init=""/&gt;延缓所有组件实例化 b.销毁时机:单例对象容器close()负责销毁 c.创建对象的模式(使用范围):scope控制,可以使用singleton和...

    Spring MVC 入门实例

    这篇文章将教你快速地上手使用 Spring 框架. 如果你手上有一本《Spring in Action》, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦! 首先, 我需要在你心里建立起 Spring...

    详解java代码中init method和destroy method的三种使用方式

    主要介绍了详解java代码中init method和destroy method的三种使用方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Spring.html

    概念:面向切面编程,在不改变源码的情况下对方法进行增强,抽取横切关注点(日志处理,事务管理,安全检查,性能测试等等),使用AOP进行增强,使程序员只需要关注与业务逻辑编写. 专业术语 目标Target:需要增强的类 ...

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

    3、通过spring的xml bean配置或bean注解指定初始化方法,如下面实例的initMethod方法通过@bean注解指定。 销毁的时候实现的方法 1、通过java提供的@PreDestroy注释; 2、通过实现spring提供的DisposableBean接口,并...

    spring-xmemcached

    &lt;bean id="cachingClient" class="com.dmx.cache.caching.impl.CachingXMemcachedClient" init-method="init" destroy-method="destroy"&gt; ${XMemcached_isflushAll}" /&gt; ...

    springjdbc

    &lt;bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"&gt; &lt;property name="driverClassName" value="com.mysql.jdbc.Driver" /&gt; ...

    Spring IOC Bean标签属性介绍(教学视频+源代码)

    Spring IOC Bean标签属性介绍 0.Bean标签属性介绍 1.0 新建一个Maven工程 1.1 pom.xml 1.2 实体类JavaBean 1.2.1 User类 1.3 当Scope="singleton"时 1.4 当 Scope="singleton" 且 lazy-init="true" 时 1.5 当scope=...

    spring2.5 学习笔记

    (二) init-method destroy-method 不要和prototype一起用(了解) 15 第六课:annotation方式Spring 16 一、 开始使用annotation配置Spring 16 二、 @Autowired、@Qualifier 16 (一) @Autowired 16 (二) @Qualifier ...

    destroy

    一个桌面发泄工具,很好玩。就是砸桌面的

    spring1.1开发理解

    可以使用&lt;bean lazy-init=""/&gt;延缓实例化 可以使用&lt;beans default-lazy-init=""/&gt;延缓所有组件实例化 b.销毁时机:单例对象容器close()负责销毁 c.创建对象的模式(使用范围):scope控制,可以使用singleton和...

    spring Ioc容器配置

    spring Ioc容器配置 IOC容器数据源配置 &lt;!-- 配置数据源 --&gt; destroy-method="close"&gt; &lt;value&gt;org.gjt.mm.mysql.Driver &lt;value&gt;jdbc:mysql://localhost:3306/demo &lt;value&gt;root ...

    android 加载fragment防止destroy

    之前写了一个activity加载fragment的比较low,那个是放在xml布局里面动态控制show和hide实现的,这个代码也是通过show和hide实现显示和隐藏防止destroy,但是可以动态加载fragment实例,不用再把fragment放在xml布局...

    spring 配置文件简单说明

    2)default-destroy-method="方法名" 定义在此配置文件中的bean都会在执行指定的destroy方法。 3)default-lazy-init ="false|true" 定义在此配置文件中的bean都会延迟加载。 ....................

    Spring对象生命周期

    首先创建一个UserInfo类,其中包含属性name,无参构造方法,静态与非静态构造方法,get和set方法,init和destroy方法,并且每一个方法都有相应的输出: package club.affengkuang.vo; public class UserInfo { ...

    spring学习心得

    可以使用&lt;bean lazy-init=""/&gt;延缓实例化 可以使用&lt;beans default-lazy-init=""/&gt;延缓所有组件实例化 b.销毁时机:单例对象容器close()负责销毁 c.创建对象的模式(使用范围):scope控制,可以使用singleton和...

    使用JSR356在Java中构建WebSocket应用

    使用JSR356在Java中构建WebSocket应用,详细介绍,包括1.服务器推送给客户端和2.客户端发送给服务器

Global site tag (gtag.js) - Google Analytics