控制反转(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)