spring 是一个容器框架 完全面向接口的设计,降低程序耦合性,主要是事务控制并创建bean实例对象 核心在于 IOC 和AOP
IOC (Inversion of Control) 控制反转
原来需要我们自己进行bean的创建以及注入,而现在交给
spring容器去完成bean的创建以及注入。
IOC容器负责创建对象、管理对象(通过依赖注入)、整合对象、配置对象以及管理这些对象的生命周期。减少了应用程序的代码量,
AOP是OOP的延续 (Aspect Oriented Programming) 面向切面编程
AOP 主要应用于日志记录,性能统计,安全控制,事务处理(项目中使用的)等方面
在spring中通过代理模式实现AOP
代理模式分为
静态代理: 一个接口,分别有一个真实实现和一个代理实现
动态代理: 通过代理类的代理,接口和实现类之间可以不直接发生联系,而可以在运行期(Runtime)实现动态关联。
动态代理可以通过JDK的动态代理,也可以通过cglib来实现,AOP默认是通过jdk的动态代理来实现的 ,JDK的动态代理必须有接口,而cglib是基于类的
spring的依赖注入 构造注入 set方法注入 接口注入 映射注入
springmvc 表现层的一个框架 基于 MVC的,,,通过注解就行映射