spring思想、属性注入、set注入、p名称注入、复杂类型注入(数组、list、set、map、prpertues)、内部bean

本文深入探讨了Spring框架的核心思想——控制反转(IOC)和依赖注入(DI),并详细介绍了属性注入、set注入、p名称空间注入以及SPEL表达式的使用。此外,还讲解了如何进行数组、List、Set、Map和Properties类型的复杂类型注入,并通过实例展示了内部Bean的配置和使用。
摘要由CSDN通过智能技术生成

目录

spring思想

ico: Inverse of Control控制反转

DI Dependency Injection依赖注入

属性注入

set方式注入

p名称空间注入

spel 注入

复杂类型注入

数组类型注入

list与set注入

map注入

prperties类型 注入

测试:复杂类型注入

内部bean


spring思想

ico: Inverse of Control控制反转

将创建 对象的方式反转了,交给spring。对象的创建和依赖关系由spring完成 创建与注入

DI Dependency Injection依赖注入

 

Dependency Injection 依赖注入.需要有 IOC 的环境,Spring 创建这个类的过程中,Spring 将类的依赖的属性设置进去

属性注入

有三种:构造器参数名称注入、构造器参数索引注入、构造器参数类型注入

	<!-- 4属性注入:4.1构造器参数名称注入 -->
    <bean id="car" class="com.lws2.test.Car">
	<constructor-arg name="name" value="宝马1"></constructor-arg>
	<constructor-arg name="price" value="30000"></constructor-arg>
	</bean>  
	<!-- 4属性注入:4.2构造器参数索引注入 -->
	<bean id="car2" class="com.lws2.test.Car">
	<constructor-arg index="0" value="宝马2"></constructor-arg>
	<constructor-arg index="1" value="30000"></constructor-arg>
	</bean> 
 	<!-- 4属性注入:4.3构造器参数类型注入 -->
 	<bean id="ca3" class="com.lws2.test.Car">
	<constructor-arg type="java.lang.String" value="宝马3"></constructor-arg>
	<constructor-arg type="java.lang.Integer"  value="30000"></constructor-arg>
	</bean> 

 

	/**
	 * 4属性注入:4.1构造器注入
	 */

	@Test
	public void carTest() {
		Car bean = (Car) context.getBean("car");
		System.out.println(bean);
	}
	/**
	 * 4属性注入:4.2构造器参数索引注入
	 */

	@Test
	public void car2Test() {
		Car bean = (Car) context.getBean("car2");
		System.out.println(bean);
	}
	/**
	 * 4属性注入:4.3构造器参数类型注入
	 */

	@Test
	public void car3Test() {
		Car bean = (Car) context.getBean("car3");
		System.out.println(bean);
	}

set方式注入

	<!-- set方式注入: -->
	<bean  name="user" class="cn.lws.bean.User" >
		<!--值类型注入: 为User对象中名为name的属性注入tom作为值 -->
		<property name="name" value="tom" ></property>
		<property name="age"  value="18" ></property>
		<!-- 引用类型注入: 为car属性注入下方配置的car对象 -->
		<property name="car"  ref="car" ></property>
	</bean>
	
	<!-- 将car对象配置到容器中 -->
	<bean name="car" class="cn.lws.bean.Car" >
		<property name="name" value="兰博基尼" ></property>
		<property name="color" value="黄色" ></property>
	</bean>

结果

	private
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值