Spring依赖注入的几种方式

本文详细介绍了Spring框架中依赖注入的四种实现方式:设值注入、构造注入、使用P命名空间赋值以及使用C命名空间赋值。通过实例代码展示了如何在配置文件中设置这些注入方式,并给出了相应的测试结果。
摘要由CSDN通过智能技术生成

控制反转(Inversion of Control, loC)也称为依赖注入 (Dependency Injection DI)

依赖注入的几种方式

1、设值注入

1、导入Spring的几个核心jar包并Build Path
在这里插入图片描述
2、创建实体类如下:

package com.xyj.entity;

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

public class TestEntity {
   
	
	private String specialCharacter1;//特殊字符1
	private String specialCharacter2;//特殊字符2
	private User user;//JavaBean类型
	private String[] array;//数组类型
	private List<String> hobbies;//String类型的list
	private List<User> users;//JavaBean类型的list
	private Set<String> set;//Set类型
	private Map<String,String> map;//map类型
	private Properties props;//Properties类型
	private String emptyValue;//注入空字符串值
	private String nullValue="init value";//注入null值
	
	//“设值注入”所需的setter方法
	public void setSpecialCharacter1(String specialCharacter1) {
   
		this.specialCharacter1 = specialCharacter1;
	}
	public void setSpecialCharacter2(String specialCharacter2) {
   
		this.specialCharacter2 = specialCharacter2;
	}
	public void setUser(User user) {
   
		this.user = user;
	}
	public void setArray(String[] array) {
   
		this.array = array;
	}
	public void setHobbies(List<String> hobbies) {
   
		this.hobbies = hobbies;
	}
	public void setUsers(List<User> users) {
   
		this.users = users;
	}
	public void setSet(Set<String> set) {
   
		this.set = set;
	}
	public void setMap(Map<String, String> map) {
   
		this.map = map;
	}
	public void setProps(Properties props) {
   
		this.props = props;
	}
	public void setEmptyValue(String emptyValue) {
   
		this.emptyValue = emptyValue;
	}
	public void setNullValue(String nullValue) {
   
		this.nullValue = nullValue;
	}
	
	//输出信息的方法
	public void show() {
   
		System.out.println("特殊字符1 : "+this.specialCharacter1);
		System.out.println("特殊字符2 : "+this.specialCharacter2);
		System.out.println("JavaBean类型 : "+this.user);
		System.out.println("数组类型 : "+Arrays.toString(this.array));
		System.out.println("String类型的List : "+this.hobbies);
		System.out.println("JavaBean类型的List : "+this.users);
		System.out.println("Set类型集合 : "+this.set);
		System.out.println("Map类型集合 : "+this.map);
		System.out.println("Properties类型 : "+this.props);
		System.out.println("注入空字符串值 : "+"["+this.emptyValue+"]");
		System.out.println("注入null值 : "+this.nullValue);
	}
	
}
//User实体类
class User{
   
	private int uid;
	private String uname;
	
	public void setUid(int uid) {
   
		this.uid = uid;
	}
	public void setUname(String uname)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值