认识Spring
Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (Inversion of Control,控制反转) 和 AOP(Aspect Oriented Programming,面向切面编程)。
什么是Spring:
Spring是一个轻量级的DI/IOC和AOP容器的开源框架,
Spring 面向方面编程(AOP)和控制反转 (IOC) 容器
Ioc(控制反转)
Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想 , ioc控制反转(将创建对象的控制权利反转给Spring)
Ioc具有粘合剂的作用,将不同的对象,通过交给Ioc进行管理
优点:效率高
AOP 切面
AOP编程操作的主要对象是切面(aspect)编程,而切面用于模块化横切关注点(公共功能)。
优点:
每个事物逻辑位于一个位置,代码不分散,便于维护和升级
业务模块更简洁,只包含核心业务代码
代理分为静态代理和动态代理,静态代理,顾名思义,就是你自己写代理对象,动态代理,则是在运行期,生成一个代理对象。
Spring AOP基于动态代理
Spring优点
1.方便解耦(使得模块或组件之间的依赖尽可能小),简化开发(高内聚低耦合),使用Spring的IOC容器,将对象之间的依赖关系交给Spring,让我们更专注于义工逻辑
2.Spring就是一个大工厂(容器),可以将所有对象创建和依赖关系维护,交给Spring管理
3.对主流的框架提供了很好的集成支持,如Hibernate,Struts2,JPA等
4.Spring提供面向切面编程,可以方便的实现对程序进行程序链接
5.Spring的高度可开放性,并不强制依赖于Spring,开发整可以自由选择Spring部分或全部