java实训笔记_Spring的xml注入

1 前言

上一篇讲了 Sping中的bean
这一篇讲讲Spring的依赖注入

2 本篇内容

依赖注入,依赖注入的方式,构造方法注入,setter注入

3 依赖注入

我感觉bean的依赖注入说白了就是创建bean的时候带参初始化。xml注入主要有两种,构造方法注入和setter注入。

4 构造方法注入

其实基本创建语句<bean id="" class=""></bean>就是构造方法注入,此时使用了无参构造器,当在类中定义了含参构造器时,可以通过<constructor-arg></constructor>标签来定义参数以匹配对应的构造方法。

4.1 constructor-arg标签

有以下的标签属性:

  • name:参数名称(类中定义的名称)
  • value:基本类型值
  • ref:引用类型值
  • index:参数的索引号,从0开始
  • type:参数的类型,使用包装类如Integer表示

举两个应用例子应该就懂了,User类中id(Integer),username(String),age(Integer),有含参构造器User(Integer id,String username),没有设置的值就为null,两种可混着写,例如第一个参数用name+value指定,第二个参数用index+type+value指定也行。rel填另一个bean的值,当属性是一个类对象的时候用到,但是开发中用得不多。

<bean id="userIdCon_1" class="edu.spring.pojo.User">
	<constructor-arg name="id" value="1" ></constructor-arg>
	<constructor-arg name="username" value="j" ></constructor-arg>
</bean>
<bean id="userIdCon_2" class="edu.spring.pojo.User">
	<constructor-arg index="0" type="java.lang.Integer" value="2"></constructor-arg>
	<constructor-arg index="1" type="java.lang.String" value="m"></constructor-arg>
</bean>

5 setter方法注入

首先要在类中生成对应的setter方法,然后在xml的bean定义中使用property子标签定义值,name是参数名称,value是想要赋予的值,两种value书写方式,见代码

<bean id="userIdSet" class="edu.zhku.spring.pojo.User">
	<property name="id" value="3"></property>
	<property name="username" value="u"></property>
	<property name="age">
		<value>111</value>
	</property>
</bean>

结语

1.感觉依赖注入的概念理解的还不是很深,过几天准备翻译一下参考文献3。
2.依赖注入也可以通过注解的方式进行,但是老师没讲的很细,过两天自己研究一下另写一篇吧。

参考文献

1.控制反转和依赖注入的理解(通俗易懂)
2.【第二章】 IoC 之 2.1 IoC基础 ——跟我学Spring3
3.Inversion of Control Containers and the Dependency Injection pattern

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值