Spring定义:一个开源的控制反转IOC(Inversion Of Control)和面向切面编程AOP(Aspect Oriented Programming)的容器框架,主要目的简化企业开发
Spring目的:就是让对象和对象之间的关系没有通过代码来关联,都是通过配置类说明管理的(spring根据这些配置内部通过反射去动态的组装对象)
Spring内部核心的东西主要有两块:IOC和AOP
1)IOC:控制反转(依赖注入)
定义:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系
核心:bean工厂;在Spring中,bean工厂创建的各个实例称作bean
2)AOP:面向切面编程
代理的两种方式:
静态代理: 针对每个具体类分别编写代理类;针对一个接口编写一个代理类;
动态代理:针对一个方面编写一个InvocationHandler,然后借用JDK反射包中的proxy类为各种接口动态生成相应的代理类