IOC

IOC定义: Inversion Of Control 控制反转

​ 控制:资源的获取方式

  • 主动式: (需要什么资源都自己创建即可)

    1
    2
    3
    BookServlet{
    BookService bs= new BookService();
    AirPlane ap=new Airplane();//复杂对象的创建是非常庞大的工程,new来new去不好}
  • 被动式:资源的获取不是我们自己创建,而是交给一个容器来创建和设置

    1
    2
    3
    4
    5
    6
    BookServlet{
    BookService bs;
    public void test01(){
    bs.checkout();
    }
    }

容器的作用:管理所有的组件(组件就是有功能的类);假设bookservlet受容器管理,bookservice也受容器管理,则容器可以在上述代码执行的时候,自动探查出某些组件需要用到另一些组件。资源的创建和销毁交给容器来进行

也就是说,IOC就是变主动的new为被动的接收资源!

DI(Dependency Injection,依赖注入)就是对这种实现思想的一种描述:容器能知道哪个组件(类)运行的时候,需要另一个类;然后容器通过反射的形式,将容器中准备好的BookService对象注入到BookServlet中,运用反射给Bean赋值。

只要是容器管理的组件,都能使用容器提供的强大功能。

把对象交给容器来创建的操作,现在又叫做在容器中注册组件

-------------文章已结束~感谢您的阅读-------------
穷且益坚,不堕青云之志。