Spring入门学习——设置Bean作用域
来源:互联网 发布:我的世界透视矿物js 编辑:程序博客网 时间:2024/06/06 16:44
配置文件如下:package com.cgy.springrecipes.shop;
import java.util.ArrayList;
import java.util.List;
/**
* 购物车
*/
public class ShoppingCart {
private List<Product> items = new ArrayList<Product>();
public void addItem(Product item) {
items.add(item);
}
public List<Product> getItems() {
return items;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p"
xmlns:util="http://www.springframework.org/schema/util" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="battery" class="com.cgy.springrecipes.shop.Battery">
<property name="name" value="AAA"/>
<property name="price" value="2.5"/>
</bean>
<bean id="disc1" class="com.cgy.springrecipes.shop.Disc">
<property name="name" value="taylor"/>
<property name="price" value="1.5"/>
</bean>
<bean id="disc2" class="com.cgy.springrecipes.shop.Disc">
<property name="name" value="jackson"/>
<property name="price" value="3.0"/>
</bean>
<bean id="shoppingCart" class="com.cgy.springrecipes.shop.ShoppingCart"/>
</beans>
控制台输出结果如下:package com.cgy.springrecipes.shop;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Main {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("beans_two.xml");
Product battery = (Product) context.getBean("battery");
Product disc1 = (Product) context.getBean("disc1");
Product disc2 = (Product) context.getBean("disc2");
ShoppingCart cart1 = (ShoppingCart) context.getBean("shoppingCart");
//购物车1添加两样商品
cart1.addItem(battery);
cart1.addItem(disc1);
//查看购物车1内的商品
System.out.println("Shopping cart 1 contains "+cart1.getItems());
//创建一个新的购物车
ShoppingCart cart2 = (ShoppingCart) context.getBean("shoppingCart");
//购物车2添加一样尚品
cart2.addItem(disc2);
//查看购物车2内的商品
System.out.println("Shopping cart 2 contains "+cart2.getItems() );
}
}
如果在一开始没有学习Bean的作用域时,相信可能会感到这个结果有点奇怪,为什么不是Shopping cart 1 contains [AAA 2.5, taylor 1.5]
Shopping cart 2 contains [AAA 2.5, taylor 1.5, jackson 3.0]
???Shopping cart 1 contains [AAA 2.5, taylor 1.5]
Shopping cart 2 contains [jackson 3.0]
<bean id="shoppingCart" class="com.cgy.springrecipes.shop.ShoppingCart" scope="prototype"/>
- Spring入门学习——设置Bean作用域
- 学习Spring(三) 设置Bean作用域
- Spring学习一(入门和bean的作用域)
- Spring实战学习笔记——bean的作用域
- Spring学习,bean作用域
- spring—bean的作用域
- Spring 学习笔记 Bean的作用域
- 学习笔记:Spring Bean的作用域
- 【Spring学习20】bean作用域:理解Bean生命周期
- Spring bean 作用域
- spring bean作用域
- Spring bean作用域
- spring bean 作用域
- Spring - Bean作用域
- Spring bean作用域
- spring bean作用域
- Spring bean作用域
- Spring bean作用域
- 为何需要SysML以及系统思维?以及…
- Spring入门学习——从对象属性中声明Bean
- WebSocket服务器的几次改进
- Spring入门学习——使用Spring表达式语言
- Swing做界面还是相对好用。对于界…
- Spring入门学习——设置Bean作用域
- ant打包程序依赖外部jar包
- 用SysML做的编程技巧总结图
- Spring入门学习——自定义Bean初始化和析构
- 社科方面,许多人觉得直觉比数据研…
- Spring入门学习——使用Bean感知容器
- 从意思准度和重叠性角度看待中文、…
- Spring入门学习——加载外部资源
- c# --sql-模糊查询