Spring的IOC
2020.01.22 12:03
2020.01.22 12:03
IOC
IOC:Inversion Of Control 控制反转;
简而言之,也就是使用Spring帮我们控制资源的获取方式!
主动式(平常)
一个Student类:
package com.misiai.bean;
public class Student {
private String name;
private String sno;
public Student() {
}
public Student(String name, String sno) {
this.name = name;
this.sno = sno;
}
}
创建方式:
Student st = new Student();
String name = st.getName();
我们需要主动的new出一个对象,这在对象少、简单时,也不是难事!但是对象多了,复杂了呢?
比如我们添加了一个Score类?
package com.misiai.bean;
public class Score {
private Integer math;
private Integer english;
public Score(Integer math, Integer english) {
this.math = math;
this.english = english;
}
public Score() {
}
}
Student依赖:
package com.misiai.bean;
public class Student {
private String name;
private String sno;
private Score score;
}
那我们就需要
Score score = new Score(120, 99);
Student st = new Student("kuan", "11025", score);
String name = st.getName();
是不是当类与类之间的依赖多了后,也很麻烦?
那这些new的动作交给框架来做如何?
声明式(框架)
如果我们在局部声明一个变量,然后框架就自动给我们new了出来?那是不是非常棒!
public class Test01 {
//如果我们在这里声明一个变量,然后框架就自动给我们new了出来?那是不是非常棒!
private static Score score;
public static void main(String[] args) {
Student st = new Student("kuan", "11025", score);
String name = st.getName();
}
}
是滴,没错,Spring框架就可以提供这样的功能!
spring的IOC帮我们实现,我们只需要在配置文件里面申明一些东西,然后spring框架就可以自动帮我们new了。
而什么出来的对象被spring框架统一管理,所以大家都通常也把IOC叫做容器。
本节阅读完毕!
(分享)