【Bean】标签常用属性

【Bean】标签常用属性

  • Id

    说明:起名称,id属性值名称任意,不能包含特殊符号,根据id得到配置对象。

  • Class

    说明:创建对象所在类的全路径。

  • Name

    说明:功能和id是一样的,id属性值不能有特殊符号,但是name可以包含特殊符号。目前已经不再使用,使用也不会有什么问题(这是个遗留问题,主要是整合struts1来设置的)。

 

说明:Bean的作用范围

singleton

默认值、单例的(只创建一个对象)

prototype

多例的

request

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

 

 

posted @ 2017-08-17 19:16  Angelye  阅读(4774)  评论(1编辑  收藏  举报