spring入门(7)---装配Bean中构造参数的注入
来源:互联网 发布:jquery post 数组 php 编辑:程序博客网 时间:2024/06/10 08:54
在spring装配bean中还有一种Set注入的替代,那就是构造参数的注入。
set注入是一种直接方式,缺点是它假设了所 有的可变属性都可以通过set方法访问到。例如有些属性在创建时设置一次,以后不再改变。替代方式是通过构造函数设置一些属性值。还有它无法清晰表达哪些属性是必须的,哪些是可选的,构造注入的优势是通过构造强制依赖关系,不可能实例化不完全的或无法使用的bean。下面是构造器的几种注入方式:
1.通过构造函数注入 (原始方式)
2.根据构造器参数的类型
3.根据索引index注入
4.根据参数名称注入
EmployeeBean.java
package www.csdn.spring.constructor.bean;public class EmployeeBean {private String name;private Double salary;private Dept dept;private String sex;// 构造器函数public EmployeeBean(String name, Double salary, Dept dept, String sex) {super();this.name = name;this.salary = salary;this.dept = dept;this.sex = sex;}@Overridepublic String toString() {return "EmployeeBean [name=" + name + ", salary=" + salary + ", dept="+ dept + ", sex=" + sex + "]";}}
Dept.java
package www.csdn.spring.constructor.bean;public class Dept {private String name;private String deptno;public void setName(String name) {this.name = name;}public void setDeptno(String deptno) {this.deptno = deptno;}@Overridepublic String toString() {return "Dept [name=" + name + ", deptno=" + deptno + "]";}}
spring-constructor.java
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!-- private String name; private Double salary; private Dept dept; --><!-- 0、通过构造函数注入 (原始方式)--><!-- <bean id="employeeBean" class="www.csdn.spring.constructor.bean.EmployeeBean"><constructor-arg value="王晓而" /><constructor-arg value="100.0" /><constructor-arg ref="dept" /><constructor-arg value="男" /></bean> --><!-- 下面三种解决1存在的问题 --><!-- 1、根据构造器参数的类型 --><bean id="employeeBean" class="www.csdn.spring.constructor.bean.EmployeeBean"><constructor-arg type="java.lang.String" value="陈红均" /><constructor-arg type="java.lang.String" value="男" /><constructor-arg type="java.lang.Double" value="100.0" /><constructor-arg type="www.csdn.spring.constructor.bean.Dept"ref="dept" /></bean><!-- 2、根据索引index注入 --><!-- <bean id="employeeBean" class="www.csdn.spring.constructor.bean.EmployeeBean"><constructor-arg index="0" value="陈红均" /><constructor-arg index="1" value="100.0" /><constructor-arg index="2" ref="dept" /><constructor-arg index="3" value="女" /></bean> --><!-- 3、根据参数名称注入 --><!-- <bean id="employeeBean" class="www.csdn.spring.constructor.bean.EmployeeBean"><constructor-arg name="name" value="陈红均" /><constructor-arg name="salary" value="100.0" /><constructor-arg name="dept" ref="dept" /><constructor-arg name="sex" value="男" /></bean>--><bean id="dept" class="www.csdn.spring.constructor.bean.Dept"><property name="name" value="CSDN教育事业部" /><property name="deptno" value="0x0001" /></bean> </beans>
- spring入门(7)---装配Bean中构造参数的注入
- Spring 装配Bean的构造注入
- Spring的《XML显式装配bean》之通过构造器注入Bean
- Spring装配bean,依赖注入及注入参数
- spring、IoC控制反转和DI依赖注入入门、基于XML的Bean装配、基于注解的Bean装配
- spring中Bean的装配
- 3、spring入门—Spring Bean的装配(上)
- 4、spring入门—Spring Bean的装配(下)
- Bean装配 注入参数 详解
- Spring(二)装配Bean(注入)
- Spring入门——Bean的自动装配(Autowring)
- Spring入门(Bean自动装配)
- Spring入门(Bean装配,Autowired注解)
- Spring入门(Bean装配,@Qualifier)
- spring的注入参数(bean对象中又有bean属性),beans.xml配置
- Bean的手动装配(set注入)
- Spring中装配bean
- Spring Bean装配--@Bean注解注入说明
- Tomcat负载均衡原理详解及配置
- c语言新建双循环链表/遍历
- 黑马程序员_面向对象(下)
- WinCE内存管理
- 手工完全删除redhat linux内核的方法
- spring入门(7)---装配Bean中构造参数的注入
- UML图解大全
- Java 线程池的原理与实现
- github版本库使用详细教程
- Activity extends BaseActivity图片
- ora-01033:oracle initializationg or shutdown in progress 错误提示
- IOS中NSFileManager的操作
- 搭建Android开发环境与开发工具选择
- 2013/04/25