海阔天空

当前时间为:
欢迎大家来到海阔天空https://www.9713job.com,广告合作以及淘宝商家推广请微信联系15357240395

2020javaweb框架教程之spring的Bean细节

未分类
2020-11-29 16:00:35
1822677238@qq.com

手机扫码查看

2020javaweb框架教程之spring的Bean细节

2020javaweb框架教程之spring的Bean细节

1.Bean创建原理

反射:加载类对象,默认调用无参构造,创建对象。

<bean class="bean.Users" id="users" />
public void classpaths(){//反射
    Class<?> u=null;
    try {
        u = Class.forName("bean.Users");
        Constructor<?> constructor = u.getConstructor();
        Users o = (Users) constructor.newInstance();
        System.out.println(o);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

2.Bean创建模式

singleton:单例–>默认

在同一个spring工厂中,一个Bean只会创建一个对象。
多次getBean(),或多次注入使用的是同一个对象。
随工厂创建而创建,随工厂关闭而销毁。

prototype:多例(原型)

<bean class="bean.Users" id="users" scope="prototype"/>

每次getBean(),或多次注入都会重新创建对象。
不随工厂创建而创建,不随工厂关闭而销毁
被用到时才会创建对象。

对象的状态:对象的成员变量值 即 对象的状态

无状态:不同的用户,不同的请求,对象的属性值不会发生改变(单例)
如:dao、service、servlet

有状态:不同的用户,不同的请求,对象的属性值会发生改变(多例)

3.生命周期

单例Bean:构造(工厂启动)–>set–>init–>User–>destory(销毁)

多例Bean:获取时才创建–>set–>init–>User–>不会随工厂关闭而销毁

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注