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对象的三种方式以及作用范围的主要内容,如果未能解决你的问题,请参考以下文章