【Bean】标签经常使用属性spring
说明:起名称,id属性值名称任意,不能包含特殊符号,根据id获得配置对象。session
说明:建立对象所在类的全路径。app
说明:功能和id是同样的,id属性值不能有特殊符号,可是name能够包含特殊符号。目前已经再也不使用,使用也不会有什么问题(这是个遗留问题,主要是整合struts1来设置的)。spa
说明:Bean的做用范围prototype
singletoncode |
默认值、单例的(只建立一个对象)xml |
prototype对象 |
多例的blog |
requestget |
WEB项目中,Spring建立一个Bean对象,将对象存入到request域中 |
session |
WEB项目中,Spring建立一个Bean对象,将对象存入到session域中 |
globaSession |
WEB项目中,应用在Porlet(单点登陆)环境中,若是没有Porlet环境,那么globalSession至关于session。 |
Singleton代码演示:
1 //核心配置文件内容不变,由于默认就是singleton,再次基础上代码以下 2 //(若是要写就是: scope="singleton"): 3 @Test 4 public void testUser(){ 5 //加载核心配置文件,建立对象 6 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 7 //获得咱们配置的对象 8 //<bean id="user" class="com.tyzr.ioc.User"></bean> 9 User user1 = (User)context.getBean("user"); 10 User user2 = (User)context.getBean("user"); 11 System.out.println(user1); 12 System.out.println(user2); 13 }
输出结果以下: com.tyzr.ioc.User@6f760238 com.tyzr.ioc.User@6f760238
Prototype(多例)代码案例:
注意:咱们在整合Struts2的时候,因为action是多实例的,这里这个就是要和struts2的action配合使用的(更简单的说之后要用spring管理struts2 action的建立,就得是多实例的)。
1 <bean id="user" class="com.tyzr.ioc.User" scope="prototype"></bean> 2 @Test 3 public void testUser(){ 4 //加载核心配置文件,建立对象 5 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 6 //获得咱们配置的对象 7 //<bean id="user" class="com.tyzr.ioc.User"></bean> 8 User user1 = (User)context.getBean("user"); 9 User user2 = (User)context.getBean("user"); 10 System.out.println(user1); 11 System.out.println(user2); 12 }
输出结果以下:
com.tyzr.ioc.User@25e25cc
com.tyzr.ioc.User@7303754a