spring中创建bean对象的三种方式以及作用范围

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring中创建bean对象的三种方式以及作用范围相关的知识,希望对你有一定的参考价值。

 

时间:2020/02/02

 

一.在spring的xml配置文件中创建bean对象的三种方式:

1.使用默认构造函数创建。在spring的配置文件中使用bean标签,配以id和class属性之后,且没有其他属性和标签时采用的就是默认构造函数创建bean对象,此时如果类中没有默认构造函数函数,则对象无法创建。

<bean id="one" class="sdnu.machi.one"></bean>

如果one.class中没有默认构造函数则会报错。

 

2.使用普通工厂中的方法创建对象(使用某个类中的方法创建对象,并存入spring容器)。

<bean id="two" class="sdnu.machi.two"></bean>
<bean id="one" factory-bean="two" factory-method="getOne"></bean>

在two.class中存在一个非静态方法getOne的返回值是类One,如果要获得类One的对象,需要通过上面两行代码进行配置。

 

3.使用工厂中的静态方法创建对象(使用某个类中的静态方法创建对象,并存入spring容器)

<bean id="one" class="sdnu.machi.two" factory-method="getOne"></bean>

在类two中存在一个静态方法的返回值是类One,想要通过类two获得类One的对象,需要通过上面一行代码进行配置。

 

二.bean的作用范围

bean标签的scope属性

1.作用:用于指定bean的作用范围

2.取值:常用的就是单例的和多例的

(1)singleton:单例的(默认值)

(2)prototype:多例的

(3)request:作用于web应用的请求范围

(4)session:作用于web应用的会话范围

(5)global-session:作用于集群环境的会话范围(全局会话范围),当不是集群环境时,他就是session

 

三.在类文件中使用配置文件

ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
One one = (One)ac.getBean("one");

 

以上是关于spring中创建bean对象的三种方式以及作用范围的主要内容,如果未能解决你的问题,请参考以下文章

spring 装配bean的三种方式

java中创建线程的三种方法以及区别

Java中创建线程的三种方法以及区别

Spring提供的三种装配Bean方式

JS中创建对象的三种方式

spring创建bean的三种方式