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类型,有专属的)。
再创建一个测试类:
然后正常打出Person的toString方法中的信息。
几个细节:
1.ApplicationContext是IOC容器的接口。
2.我们从容器中按照id拿到这个组件的对象(如果id不存在,会报错),容器中对象在容器创建完成的时候就已经创建好了。
3.同一个id的组件,多次获取都是相同的。
4.IOC创建组件的时候是利用组件中的setter方法赋值。