zoukankan      html  css  js  c++  java
  • Spring IOC

    在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方法来执行销毁操作。

  • 相关阅读:
    [Give a try | Multithreading]The Practical Guide to Multithreading
    [SOLID]The Principles of OOD
    Mixing Native and Managed Types in C++
    [转载]关于大型软件重构的一些想法
    Mixed mode programming is the absolute power of C++/CLI
    Sample: Mixing Unmanaged C++, C++/CLI, and C# code
    添加删除虚函数带来的问题及解决办法
    如何阅读code base的组内讨论的总结
    如何快速定位一个函数的返回点(c/c++ Only)
    DirextX Training笔记
  • 原文地址:https://www.cnblogs.com/chuijingjing/p/9786916.html
Copyright © 2011-2022 走看看