目录
1.spring DI
2.如何实现注入对象的属性值
(1)创建一个类:---提供set方法
(2)配置文件:---在bean标签中
1.注入类对象类型
2.注入集合类型、注入set和map集合
3.自动注入
3.1、通过xml配置实现自动注入
3.2 注释
1.spring DI
IOC:控制反转 创建对象!
DI:依赖注入:目的就是给对象中的属性赋值。
依赖注入的类型有哪些:
基本数据类型, 字符串类型,引用类型,集合类型。
2.如何实现注入对象的属性值
(1)创建一个类:---提供set方法
public class Student {
private Integer age;
private String name;
private Clazz clazz;
private List hobby;
private Integer[] sex;
private Set set;
private Map map;
public Set getSet() {
return set;
}
public void setSet(Set set) {
this.set = set;
}
public Map getMap() {
return map;
}
public void setMap(Map map) {
this.map = map;
}
@Override
public String toString() {
return "Student{" +
"age=" + age +
", name='" + name + ''' +
", clazz=" + clazz +
", hobby=" + hobby +
", sex=" + Arrays.toString(sex) +
", set=" + set +
", map=" + map +
'}';
}
public List getHobby() {
return hobby;
}
public void setHobby(List hobby) {
this.hobby = hobby;
}
public Integer[] getSex() {
return sex;
}
public void setSex(Integer[] sex) {
this.sex = sex;
}
public Clazz getClazz() {
return clazz;
}
public void setClazz(Clazz clazz) {
this.clazz = clazz;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
(2)配置文件:---在bean标签中
1.注入类对象类型
2.注入集合类型、注入set和map集合
代码展示:
睡觉
吃饭
玩游戏
0
1
2
abc
abc
def
gkh
3.自动注入
3.1、通过xml配置实现自动注入
autowire属性有两种方式:
- byName:通过对应中的变量名来找xml对应的id与变量名相同的bean
- byType: 只要是该类或是子类都可以找到,但是有多个会有歧义性,报错。
3.2 注释
下面几个注释都可以把类加到xml中,并添加相应的bean:
- @Service
- @Repository
- @Controller
- @Component
前三个基本没区别,本质上还是调用的@Component注解。
但是要注意需要让springmvc配置文件能扫描到注释。
public class Student {
private Integer age;
private String name;
private Clazz clazz;
private List hobby;
private Integer[] sex;
private Set set;
private Map map;
public Set getSet() {
return set;
}
public void setSet(Set set) {
this.set = set;
}
public Map getMap() {
return map;
}
public void setMap(Map map) {
this.map = map;
}
@Override
public String toString() {
return "Student{" +
"age=" + age +
", name='" + name + ''' +
", clazz=" + clazz +
", hobby=" + hobby +
", sex=" + Arrays.toString(sex) +
", set=" + set +
", map=" + map +
'}';
}
public List getHobby() {
return hobby;
}
public void setHobby(List hobby) {
this.hobby = hobby;
}
public Integer[] getSex() {
return sex;
}
public void setSex(Integer[] sex) {
this.sex = sex;
}
public Clazz getClazz() {
return clazz;
}
public void setClazz(Clazz clazz) {
this.clazz = clazz;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
(2)配置文件:---在bean标签中
1.注入类对象类型
2.注入集合类型、注入set和map集合
代码展示:
睡觉
吃饭
玩游戏
0
1
2
abc
abc
def
gkh
3.自动注入
3.1、通过xml配置实现自动注入
autowire属性有两种方式:
- byName:通过对应中的变量名来找xml对应的id与变量名相同的bean
- byType: 只要是该类或是子类都可以找到,但是有多个会有歧义性,报错。
3.2 注释
下面几个注释都可以把类加到xml中,并添加相应的bean:
- @Service
- @Repository
- @Controller
- @Component
前三个基本没区别,本质上还是调用的@Component注解。
但是要注意需要让springmvc配置文件能扫描到注释。
1.注入类对象类型
2.注入集合类型、注入set和map集合
代码展示:
睡觉 吃饭 玩游戏 0 1 2 abc abc def gkh
3.自动注入
3.1、通过xml配置实现自动注入
autowire属性有两种方式:
- byName:通过对应中的变量名来找xml对应的id与变量名相同的bean
- byType: 只要是该类或是子类都可以找到,但是有多个会有歧义性,报错。
3.2 注释
下面几个注释都可以把类加到xml中,并添加相应的bean:
- @Service
- @Repository
- @Controller
- @Component
前三个基本没区别,本质上还是调用的@Component注解。
但是要注意需要让springmvc配置文件能扫描到注释。



