IOC思想:控制反转/依赖注入。
控制反转:之前都是应用程序在需要的时候自己创建对象,现在是把控制权反转,交给IOC容器,ioc把我们需要的对象注入到类里供我们使用
依赖注入(Dependency injection):new 一个对象可能牵扯到他依赖的其他类,比如类b。而且类b必须创建一个实例出现在a里,耦合度很高,修改b类这个类也要一起修改代码,现在当我们new 一个a时,spring会自动帮我们把类b创建实例注入到a类里。每次创建的实例其实就是通过动态代理使用set方法,将预先保存在hashmap中的类属性注入到类b,再将b注入给a。
POJO拦截器,每次对配置拦截器的bean类执行操作前(后)进行一些额外的操作,是基于aop思想的一种实现
spring会先加载我们的配置文件,读取我们的配置文件bean,将所有bean标签的视为一个元素,整个配置文件为一个bean的集合,遍历这个集合,取出每一个property标签,取出propertity里的每一个元素,创建一个map,将元素属性成对放在集合里,读取完所有的bean后,使用反射动态创建bean的实例注入到需要的类里。如果a依赖b,b依赖c。读取配置文件的时候在类a里使用一个占位符标记一下b,因为此时b可能还没有创建。最后创建对象的时候从c到b再到a.
不和别人一样,不复制只真正理解