Spring 02 bean的配置和依赖注入的方式以及复杂类型的注入 集合数组 和配置文件的注入

本文深入解析Spring框架中依赖注入的多种方式,包括set方法注入、构造方法注入、字段注入及p名称空间注入等。详细介绍了如何通过XML配置实现不同类型属性的注入,如基本数据类型、引用类型、复杂类型及集合类型的注入。

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

一,spring属性的注入

spring的分模块注入:

<import resource = "xml文件的地址"/>

1.注入的方式

1.set方法注入

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:p="http://www.springframwork.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
	<!-- 将user对象交给spring容器 -->
	<!-- 依赖注入的方式有三种 注入方式有三种 set方法注入 构造方法注入 字段注入 -->
	<!-- 注入类型 值类型注入(基本数据类型 ) 引用类型注入 -->
	<bean name="user" class="cn.itcast.beam.User">

		<!-- set方法注入 -->
		<!--值类型的注入 -->
		<property name="name" value="tom"></property>
		<property name="age" value="18"></property>
		<!--引用类型的注入 -->
		<property name="car" ref="car"></property>
		<!-- 构造方法注入方式 -->
	</bean>
	<bean name="user2" class="cn.itcast.beam.user">
		<!-- name :构造函数的参数名 index :构造函数的参数索引 type:构造函数的参数类型 -->
		<constructor-arg name="name" index="0" type="java.lang.Integer"
			value="999"></constructor-arg>
		<constructor-arg name="car" ref="car" index="1"></constructor-arg>
	</bean>
	<!-- p名称空间注入 -->
	<!-- 导入名称空间 xmlns:p="http://www.springframwork.org/schema/p" -->
	<bean name="user3" class="cn.itcast.beam.User" p:name="jack"
		p:age="20" p:car-ref="car">

	</bean>
	<bean name="car" class="cn.itcast.beam.Car"></bean>
	<!-- spel注入 -->
	<bean name="user4" class="cn.itcase.beam.User">
		<property name="name" value="#{user.name}"></property>
		<property name="age" value="#{uer3.age>}"></property>
		<property name="car" ref="car"></property>
	</bean>
	<!-- 复杂类型注入 -->
	<bean name="user5" class="cn.itcast.beam.User">
		<property name="arr">
			<array>
				<value>jianji</value>
				<value>jdianji</value>
				<value></value>
				<ref bean="user4"></ref>
			</array>
		</property>
	</bean>
	<!-- list集合 -->
	<bean name="user5" class="cn.itcast.beam.User">
	<property name="list">
	<list>
	<value>javk</value>
	<ref bean = "user3"/>
	</list>
	</property>
	</bean>
	<!-- map leixing  -->
	<bean name="user6" class="it.cast.User">
	<property name="map">
	<map>
	<entry key="url" value="xxx"></entry>
	<entry key-ref="user4" value-ref="uer3"></entry>
	</map>
	</property>
	</bean>
	<!-- properties 类型的注入 就是配置文件 -->
	<bean name ="user7" class="cn.itcast.beam.User">
	<property name="prop">
	<props>
	<prop key="driverClass">com.jdbc.mysql.Driver</prop>
	<prop key="username">root</prop>
	<prop key="password">12346</prop>
	</props>
	</property>
	
	
	</bean>
</beans>  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值