spring配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns="http://www.springframework.org/schema/beans" 
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
	
	<!--
		使用该元素描述需要spring容器管理的对象
			name:给被管理的对象起一个名字 根据名称获得该对象  名称可以重复  可以使用一些特殊字符
			class:被管理对象的完整类名
			id属性:与name属性一样 id名称不能重复且不能使用特殊字符
			尽量使用name属性
			
			factory-method:用于静态对象工厂  指定工厂的创建方法  
			factory-bean:用于实例对象工厂  指定该对象由哪个工厂(bean的name)创建
			
			scope:作用范围属性
				singleton(默认)  单例对象  被标示的对象在spring容器中只会创建一个实例  创建容器时会立即创建单例对象
				prototype  多例原型  被标示的对象每次在获得时才会创建 每次创建都是新的对象
					在整合struts时  actionBean必须配置为多例
				request  web环境下 被标示的对象与request的生命周期一致
				session  web环境下 被标示的对象与session生命周期一致
			
			生命周期属性(可选)
				init-method:配置一个方法作为生命周期初始化方法  spring会在对象创建之后立即调用
				destory-method:配置一个方法作为生命周期的销毁方法  spring容器会在关闭并销毁容器中的所有对象之前调用
	-->
	<bean name="user" class="cn.a2490.domain.User"  init-method="">
		<!--
			set方式注入(值类型注入)  为User对象中名为name的属性注入Tom作为值
		-->
		<property name="name" value="Tom"></property>
		<!--
			对象方式注入(引用类型注入)  即User对象中具有Car属性以及它的get/set方法
			ref:引用bean
		-->
		<property name="car" ref="car"></property>
		<!--
			复杂类型array注入
			如果array|list中只准备注入一个值(对象 直接使用value|ref)
		-->
		<property name="array" >
			<array>
				<value>tom</value>
				<value>jerry</value>
				<ref bean="car"/>
			</array>
		</property>
		
		<!--
			list类型注入
		-->
		<property name="list">
			<list>
				<value>tom</value>
				<value>jerry</value>
				<ref bean="car"/>
			</list>
		</property>
		<!--
			map类型注入
		-->
		<property name="list">
			<map>
				<entry key="" value=""></entry>
				<entry key="" value-ref="car"></entry>
				<entry key-ref="car" value=""></entry>
			</map>
		</property>
		<!--
			properties类型注入
		-->
		<property name="prop">
			<props>
				<prop key="name" >张三</prop>
			</props>
		</property>
		
	</bean>
	
	<bean name="user" class="cn.a2490.domain.User" >
		<!--
			构造函数注入  必须具有构造函数
			index:标识该参数处于传入函数的第几个参数  用于区分具有多个构造且构造传入参数相同但传入顺序不同的情况  如0  1  2
			type:用于标识该参数的类型  用于区分具有多个构造且构造传入参数名称相同顺序相同但传入参数的类型不同的情况  需写入完整类名
		-->
		<constructor-arg name="name" value="Tom" index=""></constructor-arg>
		<!--
			构造函数对象注入
			ref:引用bean
		-->
		<constructor-arg name="car" ref="car"></constructor-arg>
	</bean>
	
	<bean name="car" class="cn.a2490.domain.Car" >
		<property name="name" value="兰博基尼">
		<property name="color" value="黄色">
	</bean>
	
	<!--
		引入其他的配置文件  用于程序的分模块开发
	-->
	<import resource="cn.a2490.test.xxx.xml">
</beans>

p名称空间注入 (在使用p名称注入时  需要导入context约束)

<?xml version="1.0" encoding="UTF-8"?>

<!--
	引用p名称空间
-->
<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" 
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
	
	<!--
		使用p:属性完成注入
			值类型:   p:属性名
			对象类型:    p:属性名-ref="bean名称"
	-->
	<bean name="car" class="cn.a2490.domain.car" p:name="兰博基尼" p:color="黄色"></bean>
	<bean name="user" class="cn.a2490.domain.User" p:name="Tom" p:age="18" p:car-ref="car"></bean>
</bean>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值