吹静静

欢迎QQ交流:592590682

在Spring中如果某个bean在初始化之后,或销毁之前要做一些额外操作可以为该bean配置初始化和销毁的我方法,在这些方法中完成需要的功能。

实验:

通过断点调试模式,测试初始化方法和销毁方法的执行

package cn.tedu.beans;

public class ProdDao {
    public ProdDao() {
        System.out.println("ProdDao 被创建。。。");
    }

    public void init() {
        System.out.println("init。。连接数据库。。。。。");
    }

    public void destory() {
        System.out.println("destory。。断开数据库。。。。。");
    }

    public void addProd() {
        System.out.println("增加商品。。");
    }

    public void updateProd() {
        System.out.println("修改商品。。");
    }

    public void delProd() {
        System.out.println("删除商品。。");
    }

    public void queryProd() {
        System.out.println("查询商品。。");
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"
    default-lazy-init="true"
    >
    
    <bean id="prodDao" class="cn.tedu.beans.prodDao" init-method="init" destroy-method="destory"></bean>
    
</beans>
    @Test
    /**
     * SpringIOC 初始化和 销毁方法
     */
    public void test10(){
         
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        ProdDao prodDao = (ProdDao) context.getBean("prodDao");
        prodDao.addProd();
        context.close();
    }

执行结果:

**Spring中关键方法的执行顺序:

在Spring创建bean对象时,先创建对象(通过无参构造或工厂),之后立即调用init方法来执行初始化操作,之后此bean就可以哪来调用其它普通方法,而在对象销毁之前,spring容器调用其destory方法来执行销毁操作。

 

posted on 2018-10-14 17:02  吹静静  阅读(288)  评论(0编辑  收藏  举报