Bean的作用域

Bean的作用域:singleton;prototype;WEB环境作用域

配置作用域singleton

bean.xml

1
2
3
4
<!-- 默认作用域是singleton(单例),通过scope配置 。
容器初始化时创建bean实例。在整个容器的生命周期内置创建这一个bean。-->
<bean id = "car" class = "com.spring.helloWorld.Car"
p:brand = "Audi" p:price = "300000" scope="singleton"></bean>

Main.java

1
2
3
4
5
6
public static void main(String[] args){
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
Car car = (Car)ctx.getBean("car");
Car car2 = (Car)ctx.getBean("car");
System.out.println(car == car2);
}

输出结果:
true

配置作用域prototype

bean.xml

1
2
3
4
<!-- 此作用域是prototype(不是单例),通过scope配置。
prototype:原型的,容器初始化时不创建bean的实例,而在每次请求时都创建一个新的Bean实例,并返回。-->
<bean id = "car" class = "com.spring.helloWorld.Car"
p:brand = "Audi" p:price = "300000" scope="prototype"></bean>

Main.java

1
2
3
4
5
6
public static void main(String[] args){
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
Car car = (Car)ctx.getBean("car");
Car car2 = (Car)ctx.getBean("car");
System.out.println(car == car2);
}

输出结果:
false

-------------本文结束 感谢您的阅读-------------
文章对我有益,我要小额赞赏...