Spring学习之IOC

1.Spring分为两大组成部分IOC(容器)和AOP(面向切面编程)。

2.IOC:(Inversion Of Control)控制反转;

    控制:资源的获取方式(主动获取和被动获取);

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

              如BookServlet中BookService bs = new BookService();

        被动式:资源的获取不是自己创建,而是交给一个容器来创建和设置。

              如BookServlet中Book Service bs;然后不用创建对象,直接使用。

容器:管理所有的组件(有功能的类);假设,BookServlet受容器管理,BookService也受容器管理;容器可以自动探查出哪些组件(类)用到另一个组件(类);容器帮我们自动创建BookService对象,并把BookService对象赋值过去,把主动的new 资源变为被动的接收资源;

练习一下:

先导包,在写配置文件,最后测试。

我这里使用的IDEA,不用导包,如果有用eclipse的同学,可以联系我;

需要创建一个Spring配置文件(xml类型,有专属的)。

Spring学习之IOC

再创建一个测试类:

Spring学习之IOC

然后正常打出Person的toString方法中的信息。

几个细节:

1.ApplicationContext是IOC容器的接口。

2.我们从容器中按照id拿到这个组件的对象(如果id不存在,会报错),容器中对象在容器创建完成的时候就已经创建好了。

3.同一个id的组件,多次获取都是相同的。

4.IOC创建组件的时候是利用组件中的setter方法赋值。