Spring容器初始化方法的应用及注意对象

Posted TracyDemo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring容器初始化方法的应用及注意对象相关的知识,希望对你有一定的参考价值。

beans组件 里面default-init-method初始化方法加载,范围比较大,当没有此方法时不会报错,default-destroy-method销毁方法

bean组件里面init-method初始化无此方法,会报错,  destroy-method销毁方法,

    注意:1.销毁方法对scope=“prototype”多例模式无效

    2.AbstractApplicationContext可以关闭容器,可以调用close()方法,关闭容器,调用销毁方法

 

            Xml代码

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p" xmlns:util="http://www.springframework.org/schema/util" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:cache="http://www.springframework.org/schema/cache"
xsi:schemaLocation="
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/jdbc
http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
http://www.springframework.org/schema/cache
http://www.springframework.org/schema/cache/spring-cache-3.1.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd"
default-init-method="initEmp" default-destroy-method="destroyEmp">

<bean id="emp" init-method="initEmp" destroy-method="destroyEmp" class="com.tracy.bean.Emp" scope="singleton" ></bean>
</beans>

测试

//bean组件的默认方式
    @Test
    public void beanInitTest() {
    AbstractApplicationContext appContext=new ClassPathXmlApplicationContext("com/tracy/xml/bean-init-destroy.xml");
       ApplicationContext app=new ClassPathXmlApplicationContext("com/tracy/xml/bean-init-destroy.xml");
        Emp emp=app.getBean("emp",Emp.class);
        System.out.print(emp);
        appContext.close();
     
    }

 

 

 

通过构造完成初始bean属性,可以通过初始化完成

以上是关于Spring容器初始化方法的应用及注意对象的主要内容,如果未能解决你的问题,请参考以下文章

IOC容器基本原理

如何获取容器中的bean对象

Spring第二篇:Spring容器的基本使用及原理

spring笔记--依赖注入之针对不同类型变量的几种注入方式

依赖注入之针对不同类型变量的几种注入方式

Spring中bean的作用域