## Spring简介## 1.概念Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都 可以从Spring中受益## 2.核心功能 1. 控制反转(IOC)简单理解IOC是一种设计模式,将实例化对象的控制权由手动的new变成了Spring框架通过反射机制实例化,并将对象的实例存入在容器种进行管理 2. 依赖注入(DI)IOC是将对象实例化的动作交由了Spring框架,它的作用是降低了程序的耦合,不需要我们手动的创建对象,但是程序的耦合性还是存在对象中肯定会有一些其余对象的引用,那么这种引用就称为对象的依赖 3.面向切面编程(AOP)首先理解切面,切面是数学中的一个概念,和球面只有一个交点的平面称作球的切面,而接触点称作切点在Spring中,切面编程指的就是通过预编译和运行期动态代理的方式实现在程序运行某个方法的时候,不修改原始执行代码逻辑,由程序动态地执行某些额外的功能,对原有的方法做增强,这就叫做面向切面编程,那个被监测的执行方法,称呼为切入点。## 3.Spring的优点 1. 使用Spring的IOC容器,将对象之间的依赖关系交给了Spring,降低了组件之间的耦合性,让我们更专注于应用逻辑 2. Spring提供众多服务,比如事务管理,WS等 3. Spring对AOP很好的支持,方便面向切面编程 4. Spring对追u的框架提供了很好的集成支持,比如Hibernate、Struts2和JPA等 5. Spring的DI机制降低了业务对象替换的复杂性 6. .Spring属于低侵入,代码的污染极低 7. Spring的高度可开放性,并不强制依赖于Spring,开发者可以自由选择