【Bean】标签常用属性

时间:2023-03-09 19:50:53
【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代码演示:

 //核心配置文件内容不变,因为默认就是singleton,再次基础上代码如下
//(如果要写就是: scope="singleton"):
@Test
public void testUser(){
//加载核心配置文件,创建对象
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//得到我们配置的对象
//<bean id="user" class="com.tyzr.ioc.User"></bean>
User user1 = (User)context.getBean("user");
User user2 = (User)context.getBean("user");
System.out.println(user1);
System.out.println(user2);
}
输出结果如下:
com.tyzr.ioc.User@6f760238
com.tyzr.ioc.User@6f760238

Prototype(多例)代码案例:


注意:我们在整合Struts2的时候,由于action是多实例的,这里这个就是要和struts2的action配合使用的(更简单的说以后要用spring管理struts2 action的创建,就得是多实例的)。


 <bean id="user" class="com.tyzr.ioc.User" scope="prototype"></bean>
@Test
public void testUser(){
//加载核心配置文件,创建对象
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//得到我们配置的对象
//<bean id="user" class="com.tyzr.ioc.User"></bean>
User user1 = (User)context.getBean("user");
User user2 = (User)context.getBean("user");
System.out.println(user1);
System.out.println(user2);
}

输出结果如下:

com.tyzr.ioc.User@25e25cc

com.tyzr.ioc.User@7303754a