spring笔记3

本文深入讲解了Spring框架中Bean标签的使用,包括id、class、name、scope等关键属性的作用及配置方法,同时介绍了属性注入的两种方式以及如何在配置文件中完成对象之间的依赖注入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

bean标签常用属性

1、id属性:bean唯一标识,可以任意命名。
–不能包含特殊符号
–根据id值得到配置对象

2、class属性:创建对象所在类的全路径。

3、name属性:(现在已经不用,历史遗留)功能与id值一样,但是name属性值可以有特殊符号,是为和Struts1整合时使用(action中有特殊符号)。

4、scope属性:设置类的特点。
属性值:1):singleton:默认值,单例的(只创建一个对象)。

<bean id="user" class="cn.wdh.ioc.User" scope="singleton"></bean>
public class TestIOC {
	@Test
	public void IOC() {
		ApplicationContext context=
				new ClassPathXmlApplicationContext("applicationConfig.xml");
		User user1=(User)context.getBean("user");
		User user2=(User)context.getBean("user");
		System.out.println(user1);
		System.out.println(user2);
	}
}

运行结果:
在这里插入图片描述
2):prototype:多例的。

<bean id="user" class="cn.wdh.ioc.User" scope="prototype"></bean>
public class TestIOC {
	@Test
	public void IOC() {
		ApplicationContext context=
				new ClassPathXmlApplicationContext("applicationConfig.xml");
		User user1=(User)context.getBean("user");
		User user2=(User)context.getBean("user");
		System.out.println(user1);
		System.out.println(user2);
		
	}
}

运行结果:
在这里插入图片描述
3):request:WEB项目中,Spring创建一个bean对象,将对象存入request域中。
4):session:WEB项目中,Spring创建一个bean对象,将对象存入session域中。
5):globalSession(单点登录):在WEB项目中,应用在Porlet环境中,如果没有Porlet环境,那么globalSession相当于session。全局的session:登录一次,在进行起相关的产品中不需要再一次登录,例如,百度旗下有很多产品,只需要登录一次百度账号,在访问百度贴吧、百度文库等等就不需要再次登录。

属性注入

属性注入:创建对象的时候,设置类的成员变量的值

1、属性注入的方式(两种方式)
1):使用set方法。

    <bean id="demo" class="cn.wdh.property.PropertyDome1">
    <property name="成员变量的名称" value="成员变量的值"></property>
    </bean>
    2):有参构造函数。
 <bean id="demo" class="cn.wdh.property.PropertyDome1">
 <!--constructor-arg:该标签表示使用有参的构造函数-->
    <constructor-arg name="成员变量的名称" value="成员变量的值"></constructor-arg>
    </bean>

注入对象类型属性

1、创建UserService和UserDao。
2、具体实现过程
1):在UserService中创建UserDao类型的成员变量。
2):创建成员变量的set方法。
3、配置文件中完成注入关系。

<!--创建Userdao对象-->
<bean id="userdao" class="UserDao的全路径"></bean>
<!--创建UserService对象并把UserDao通过Set方法注入-->
<bean id="userService" class="UserService全路径">
<!--不用value属性,ref先、值为要注入对象的bean的值-->
<property name="成员变量名称" ref="userdao"></property>
</bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值