总的说来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同时有实现上面的接口而且又以配制形式指定定了相应方法。则实际上这两个方法都会
被调用。调用的顺序是先接中然后配制。
分享到:
相关推荐
(二) init-method destroy-method 不要和prototype一起用(了解) 15 第六课:annotation方式Spring 16 一、 开始使用annotation配置Spring 16 二、 @Autowired、@Qualifier 16 (一) @Autowired 16 (二) @Qualifier ...
使用方法的返回值进行注入 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....
可以使用<bean lazy-init=""/>延缓实例化 可以使用<beans default-lazy-init=""/>延缓所有组件实例化 b.销毁时机:单例对象容器close()负责销毁 c.创建对象的模式(使用范围):scope控制,可以使用singleton和...
这篇文章将教你快速地上手使用 Spring 框架. 如果你手上有一本《Spring in Action》, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦! 首先, 我需要在你心里建立起 Spring...
主要介绍了详解java代码中init method和destroy method的三种使用方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
概念:面向切面编程,在不改变源码的情况下对方法进行增强,抽取横切关注点(日志处理,事务管理,安全检查,性能测试等等),使用AOP进行增强,使程序员只需要关注与业务逻辑编写. 专业术语 目标Target:需要增强的类 ...
3、通过spring的xml bean配置或bean注解指定初始化方法,如下面实例的initMethod方法通过@bean注解指定。 销毁的时候实现的方法 1、通过java提供的@PreDestroy注释; 2、通过实现spring提供的DisposableBean接口,并...
<bean id="cachingClient" class="com.dmx.cache.caching.impl.CachingXMemcachedClient" init-method="init" destroy-method="destroy"> ${XMemcached_isflushAll}" /> ...
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> ...
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=...
(二) init-method destroy-method 不要和prototype一起用(了解) 15 第六课:annotation方式Spring 16 一、 开始使用annotation配置Spring 16 二、 @Autowired、@Qualifier 16 (一) @Autowired 16 (二) @Qualifier ...
一个桌面发泄工具,很好玩。就是砸桌面的
可以使用<bean lazy-init=""/>延缓实例化 可以使用<beans default-lazy-init=""/>延缓所有组件实例化 b.销毁时机:单例对象容器close()负责销毁 c.创建对象的模式(使用范围):scope控制,可以使用singleton和...
spring Ioc容器配置 IOC容器数据源配置 <!-- 配置数据源 --> destroy-method="close"> <value>org.gjt.mm.mysql.Driver <value>jdbc:mysql://localhost:3306/demo <value>root ...
之前写了一个activity加载fragment的比较low,那个是放在xml布局里面动态控制show和hide实现的,这个代码也是通过show和hide实现显示和隐藏防止destroy,但是可以动态加载fragment实例,不用再把fragment放在xml布局...
2)default-destroy-method="方法名" 定义在此配置文件中的bean都会在执行指定的destroy方法。 3)default-lazy-init ="false|true" 定义在此配置文件中的bean都会延迟加载。 ....................
首先创建一个UserInfo类,其中包含属性name,无参构造方法,静态与非静态构造方法,get和set方法,init和destroy方法,并且每一个方法都有相应的输出: package club.affengkuang.vo; public class UserInfo { ...
可以使用<bean lazy-init=""/>延缓实例化 可以使用<beans default-lazy-init=""/>延缓所有组件实例化 b.销毁时机:单例对象容器close()负责销毁 c.创建对象的模式(使用范围):scope控制,可以使用singleton和...
使用JSR356在Java中构建WebSocket应用,详细介绍,包括1.服务器推送给客户端和2.客户端发送给服务器