spring中bean的知识点1.0

3种Beans的实列法的方式

定义一个Student类,实列化其对象。

1.0 使用类构造器实列化

public class Student {
        
    public Student()
    {
        System.out.print(" 我是无参数构造");
    }

}

xml的配置

<beans>
<bean id="student" class="Student"></bean>
</beans>

结果如下

信息: Loading XML bean definitions from class path resource [helloMessage.xml]
 我是无参数构造Student@77cd7a0

2.0 静态工厂方法

当然需要一个静态方法还回其的对象。

public class Student {
        
    public static Student creatStudent()
    {
        return new Student();
    }
}

xml的配置如下

<beans>
<bean id="student" class="Student" factory-method="creatStudent"></bean>
</beans>

3.0 使用工厂方法实列化。这个需要工厂方法,先不提

占位

Bean的作用域

image.png

Bean的作用域默认为 singleton 通过如下

    public static void main(String[] args) {
        
        ApplicationContext app=new ClassPathXmlApplicationContext("helloMessage.xml");
        Student student=(Student) app.getBean("student");
        System.out.println(student);
        
        Student student1=(Student) app.getBean("student");
        System.out.println(student1);

    }

结果可以看出来

student被实列化Student@77cd7a0
Student@77cd7a0

如果scope设置成 scope

<bean id="student" class="Student" scope="prototype"></bean>

结果如下

student被实列化Student@5c7fa833
student被实列化Student@39aeed2f

五种作用域中,request、session和global session三种作用域仅在基于web的应用中使用

bean的生命周期

image.png

image.png

参考文章Spring中bean的作用域与生命周期

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏架构说

实现多态必须满足什么条件

3 虚函数机制 virtual mechanism 先看代码: class A { public: virtual void print() { cout...

30670
来自专栏技术/开源

从C#到TypeScript - async await

从C#到TypeScript - async await 上两篇分别说了Promise和Generator,基础已经打好,现在可以开始讲async await了...

24760
来自专栏从零开始学 Web 前端

从零开始学 Web 之 ES6(五)ES6基础语法三

在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目。现在就让我们一起进入 Web 前端学习的冒险之旅吧!

9520
来自专栏Java编程

Java异常的深入研究与分析

本文是异常内容的集大成者,力求全面,深入的异常知识研究与分析。本文由金丝燕网独家撰写,参考众多网上资源,经过内容辨别取舍,文字格式校验等步骤编辑而成,以飨读者。...

37500
来自专栏程序员互动联盟

【答疑解惑】define和const区别

在c/c++程序中我们经常使用到它们,由于使用比较频繁,我们就来做一下对比它们各自的作用。从以下几个方面来说明 1、编译器处理方式不同   define宏是在预...

362120
来自专栏marsggbo

python的with语句,超级强大

With语句是什么? 有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。一个很好的例子是文...

215100
来自专栏吴伟祥

Spring4的新特性 Bean Validation1.1

6830
来自专栏SpringBoot

MongoDB基本数据类型

10930
来自专栏java系列博客

深入理解Java内存模型(六)——final

16430
来自专栏爱撒谎的男孩

Struts2之类型转换器

37150

扫码关注云+社区

领取腾讯云代金券