Spring的xml配置文件例子

本文详细介绍了 Spring 框架中 Bean 的多种实例化方式,包括使用无参构造函数、静态工厂方法、非静态工厂方法及有参构造函数等。同时,深入探讨了依赖注入的实现,如通过构造函数注入、setter 方法注入和 P 名称空间注入等,并展示了复杂类型的属性注入案例。

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

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

	<!-- 使用无参构造函数来实现bean的实例化 -->
	<bean id="user" class="cn.itcast.ioc.User" scope="prototype"></bean>
	
	<!-- 使用静态工厂的方法的来实现bean的实例化  -->
	<bean id="bean2" class="cn.itcast.bean.Bean2Factory" factory-method="getBean2" ></bean>
	
	<!-- 使用非静态工厂的方法来实现bean的实例化 -->
	<bean id="bean3Factory" class="cn.itcast.bean.Bean3Factory"></bean>
	<bean id="bean3" factory-bean="bean3Factory" factory-method="getBean3" ></bean>
	
	<!-- 通过有参构造函数来实现数据的注入达到对象的实例化 -->
	<bean id="demo" class="cn.itcast.property.PropertyDemo1">
		<!-- name对应的是有参构造方法中的值的名称   value是名称对应参数的值 -->
		<constructor-arg name="username" value="huheng"></constructor-arg>
	</bean>
	
	<!-- 通过set方法来实现数据的注入达到对象的实例 -->
	<bean id="book" class="cn.itcast.property.Book">
		<!-- name对应的相关属性的名称    value对应相关属性的值 -->
		<property name="bookname" value="I love you!"></property>
	</bean>
	
	<!-- 注入对象类型的属性 -->
	<bean id="userDao" class="cn.itcast.ioc.UserDao"></bean>
	<bean id="userService" class="cn.itcast.ioc.UserService">
		<!--注入dao对象 
			name属性值,service类里面的属性名称
			在Userservice中注入相关的userdao类型属性给dao
			写ref属性,dao配置bean标签中的id值
		 -->
		<property name="userdao" ref="userDao"></property>
	</bean>
	
	<!-- p名称空间注入 -->
	<bean id="person" class="cn.itcast.property.Person" p:pname="lucy">
		<!-- 复杂类型的属性值的注入 -->
		<!-- 数组注入 -->
		<property name="arrs">
			<list>
				<value>lily</value>
				<value>kate</value>
				<value>Jim</value>
				<value>white</value>
			</list>	
		</property>
		<!-- list注入 -->
		<property name="list">
			<list>
				<value>AKAS</value>
				<value>RED</value>
				<value>JISJKL</value>
				<value>REASD</value>
			</list>
		</property>
		
		<!-- map注入 -->
		<property name="map">
			<map>
				<entry key="aa" value="KKKKK"></entry>
				<entry key="bb" value="LLLLL"></entry>
				<entry key="cc" value="MMMMM"></entry>
				<entry key="dd" value="NNNNN"></entry>
			</map>
		</property>
		
		<property name="properties">
			<props>
				<prop key="driverclass">com.mysql.jdbc.Driver</prop>
				<prop key="hahahah">cdajfodjafojsdfasdfer</prop>
			</props>
		</property>
		
		<!-- properties注入 -->
	
	
	
	
	</bean>
	
</beans>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值