Spring实现控制反转(IOC)的三种方式(二)——构造器注入

续:Spring实现控制反转(IOC)的三种方式(零)——理解IOC

Spring实现控制反转(IOC)的三种方式(一)——属性注入


上篇文章说了Spring IOC注入方法中的属性注入,也叫set注入。那这篇文章来说说构造器注入

构造器注入,顾名思义,就是在构造器里面注入依赖对象。那是怎么实现的呢?其实跟属性注入差不多,定义一个有参构造器,然后配置xml文件就行了。看代码

package com.spring.demo03.entity;

import com.spring.demo02.entity.Computer;

public class Programmer {
	
	private Computer computer;
	
	public Programmer(Computer computer){
		this.computer = computer;
	}
	

}

package com.spring.demo03.entity;

public class Computer {

	private String brand;
	private String color;
	private String size;

	public Computer(String brand, String color, String size) {
		this.brand = brand;
		this.color = color;
		this.size = size;
	}

}

上面两个类都有一个有参的构造器,接下来,在xml里面配置这两个bean,然后再配置构造器的参数值就可以了

<?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-3.0.xsd">
    
  <bean id="programmer" class="com.spring.demo3.entity.Programmer">
  	<constructor-arg ref="computer"></constructor-arg>
  </bean>
  
  <!-- 构造器里面没有name字段,只有value,是根据构造器的方法参数顺序来定义的 -->
  <bean id="computer" class="com.spring.demo3.entity.Computer">
  	<constructor-arg value="联想"></constructor-arg>
  	<constructor-arg value="红色"></constructor-arg>
  	<constructor-arg value="15.6寸"></constructor-arg>
  </bean>
  
</beans> 

以上,就是构造器注入,是不是很简单。跟属性注入有点相似,那平时该选择什么样的方法注入呢?一般来说,有强依赖关系的就用构造器注入,其他是可选属性的就用属性注入。不过,现在大部分都是用自动装配了,根本不用这么麻烦。下面一篇文章讲的就是自动装配方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值