IOC和AOP

IOC(Inversion Of Control):控制反转

    控制:资源的获取方式:

        主动式:(要什么资源自己创建)

          ClassSerVlet{

              ClassService sc = new ClassService();   

              AirPlane ap = new AirPlane()  //主动式复杂对象不好创建 ,因为无参构造器出来的是没功能的  

          }

        被动式:资源不是我们自己创建,而是交给一个容器创建

          ClassSerVlet{

              ClassService bs;

              public void test(){

                 bs.checkout();

              }

          }

    容器:管理所有的组件(有功能的类);假设ClassServlet受容器管理,ClassService也收容器管理;容器可以自动探查出那些组件(类)需要用到另一些组件(类);容器帮我们创建ClassServlce对象,并把ClassService赋值过去

      

    容器可以把主动new的资源换成被动接受的资源

DI:Dependency Injection 依赖注入

    如果说IOC是一种思想,那么DI就是对IOC的实现方法。

    容器能知道哪个组件在运行的时候需要另一个组件;容器通过反射的方式,将容器中准备好的xxxx对象注入(利用反射给属性赋值)到需要他的组件中,比如将xxxService注入到xxxxServlet中

原文地址:https://www.cnblogs.com/Timeouting-Study/p/12608649.html