(七)Spring2.5中Bean的初始化与销毁(bean_init_destroy)主要是对Bean为单例的情况

来源:互联网 发布:乐呵棋牌全套完整源码 编辑:程序博客网 时间:2024/05/21 20:23

(一)UserDao类

package cn.yht.spring.g_bean_init_destroy;import javax.sql.DataSource;public class UserDao {private DataSource dataSource;/** * 初始化方法 */public void init() {System.out.println("UserDao.init()  初始化方法");}/** * 销毁的方法 */public void destroy() {System.out.println("UserDao.destroy()  销毁的方法");}public DataSource getDataSource() {return dataSource;}public void setDataSource(DataSource dataSource) {this.dataSource = dataSource;}}

(二)applicationContext.xml配置文件

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"default-lazy-init="true"><!-- 单例的对象,配置了初始化方法与销毁方法 --><bean name="userDao" class="cn.yht.spring.g_bean_init_destroy.UserDao"init-method="init" destroy-method="destroy" scope="singleton"></bean></beans>

(三)MainTest类

package cn.yht.spring.g_bean_init_destroy;import org.junit.Test;import org.springframework.context.support.ClassPathXmlApplicationContext;public class MainTest {// 在ApplicationContext接口中没有定义close()方法,要想调用,就得先转为子类类型才行。// 一定要半闭ApplicationContext,给bean配置的销毁方法才会被调用。// 在单例时,配置的初始化与销毁方法都会被调用。// 在多例时,只有配置的初始化才会被调用。@Testpublic void test() throws Exception {ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml", getClass());UserDao userDao = (UserDao) ac.getBean("userDao");System.out.println(userDao);ac.close();}}



0 0