Spring通过构造方法注入的四种方式
来源:互联网 发布:数据科学r语言实践 编辑:程序博客网 时间:2024/05/22 11:30
Spring通过构造方法注入的四种方式
通过构造方法注入,就相当于给构造方法的参数传值
set注入的缺点是无法清晰表达哪些属性是必须的,哪些是可选
的,构造注入的优势是通过构造强制依赖关系,不可能实例化不
完全的或无法使用的bean。
MemberBean定义四个变量,
private String name;
private Double salary;
private Dept dept;
private String sex;
加上构造方法和toString方法:方便测试
Dept:
private String dname;
private String deptno;
使用set方法注入
第一种方法:根据索引赋值,索引都是以0开头的:
<bean
id="memberBean" class="www.csdn.spring01.constructor.MemberBean">
<constructor-arg index="0" value="刘晓刚" />
<constructor-arg index="1" value="3500" />
<constructor-arg index="2" ref="dept"/>
<constructor-arg index="3" value="男" />
第二种方法是根据所属类型传值
这种方法基本上不怎么适用,因为一个类里可以有好几个相同基本类型的变量,很容易就混淆值传给哪一个参数了所以做好不要使用这种方法:
<constructor-arg type="java.lang.String" value="刘晓刚"
<constructor-arg type="java.lang.Double" value="3500" />
<constructor-arg type="www.csdn.spring01.constructor.Dept" ref="dept"/>
<constructor-arg type="java.lang.String" value="男" />
第三种方法:根据参数的名字传值:(推荐用法)
在这几种方法里我感觉这种方法是最实用的,他是根据名字来传值的,所以基本上只要名字对了,这个值就可以获取到
<constructor-arg name="name" value="刘晓刚" />
<constructor-arg name="salary" value="3500" />
<constructor-arg name="dept" ref="dept"/>
<constructor-arg name="sex" value="男" />
第四种方法:直接传值
直接给参数赋值,这种方法也是根据顺序排的,所以一旦调换位置的话,就会出现bug,这种方法已经很原始了
<constructor-arg value="刘晓刚" />
<constructor-arg value="3500" />
<constructor-arg ref="dept"/>
<constructor-arg value="男" />
</bean>
<bean id="dept" class="www.csdn.spring01.constructor.Dept" >
<property name="dname" value="北航"/>
<property name="deptno" value="00001"/>
</bean>S
- Spring通过构造方法注入的四种方式
- Spring通过构造方法注入的四种方式
- Spring通过构造方法注入的四种方式
- Spring通过构造方法注入的四种方式
- Spring通过构造方法注入的四种方式
- Spring通过构造方法注入的四种方式
- Spring通过构造方法注入的四种方式 .
- Spring通过构造方法注入的四种方式
- Spring通过构造方法注入的四种方式
- Spring的两种常见的注入方式 构造方法注入以及setter方法注入
- Spring的两种依赖注入方式:setter方法注入与构造方法注入
- Spring的两种依赖注入方式:setter方法注入与构造方法注入 以及两种方式的区别!
- spring Ioc 依赖注入的三种方式:构造函数注入、setter方法注入和接口注入
- Spring依赖注入的三种方式详解之二:构造方法注入
- [优质例子存档]Spring的两种依赖注入方式:setter方法注入与构造方法注入
- spring的四种注入方式
- spring依赖注入的四种方式
- Spring的四种注入方式
- 如何使用jquery获取每个td的值.
- 在eclipse中的控制台中添加标签
- 【1】Windows客户端C/C++编程规范“建议”——函数
- QuartZ Cron表达式
- 如何重构代码-思路和方法
- Spring通过构造方法注入的四种方式
- shiro权限验证标签
- NSString截取字符串
- Spring JdbcTemplate 批量插入或更新操作
- java学习笔记IO输入与输出——常用工具类(1)
- Nutch技术手册——AboutPlugin
- nodejs redis 文件 二进制存取
- 双向链表
- 七层网络模型,协议,状态码认识