栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring 配置文件</bean>详解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring 配置文件</bean>详解

一、Scope属性

1、代表bean对象的作用范围;

2、默认为singleton,即单例模式;可设置为prototype,即多例模式;

3、单例或多例的实现关键在于bean对象何时创建:

        singleton:当配置文件加载时实例化bean对象:

                创建时间:配置文件加载、spring容器创建时;

                生命周期:spring容器存在,bean对象就不会销毁。

        prototype:当调用getBean方法时实例化bean对象:

                创建时间:调用getBean方法时;

                生命周期:若长时间不使用该bean对象即被回收。

public class ScopeTest {
    //bean标签的scope属性,代表对象的的作用范围。默认为singleton单例,可设置为prototype多例
    public static void main(String[] args) {
        ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserDao u1 = (UserDao) app.getBean("UserDao");
        UserDao u2 = (UserDao) app.getBean("UserDao");

        //若设置为singleton,则引用对象时采用单例设计模式,即u1、u2为同一对象,输出的地址码相同
        //若设置为singleton,则不采用单例设计模式,u1、u2为不同对象,输出的地址码不同
        System.out.println(u1);
        System.out.println(u2);

    }
}
二、init-method & destroy-method

人为设置的初始化和销毁方法,在bean对象创建和销毁时自动调用。

public class InitAndDestroyTest {
    public static void main(String[] args) {
        ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserDao demo = (UserDao) app.getBean("UserDaoIII");
        System.out.println(demo);
        ((ClassPathXmlApplicationContext) app).close();//销毁时调用destroy方法
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/759159.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号