百度百科
Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于JEE应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。
核心点
1.Spring是一个轻量级的开源J2EE框架
- 轻量级:轻量级框架是相对于重量级框架的一种设计模式,轻量级框架不具有侵略性API,对于容器也没有依赖性,易于通用,易于配置,启动时间短。
- 开源:免费,提供源代码
- 框架:类和接口的集合,可以让我们更好的开发,代码更加简洁,能够解决企业应用的复杂性。
2.String有两个核心功能,IOC/AOP
- IOC:把创建对象的过程交给Spring来处理
- AOP:面向切面,不修改原代码进行功能增强。
特点
1.方便解耦,简化开发,
- 可以通过Spring的IOC容器,将对象之间的依赖关系交由spring来控制,避免硬编码所造成的过度程序耦合。有了spring,用户不在为单例实例类、文件属性解析编写底层代码了,可以更加专注于上层。
2.AOP编程的支持
- 通过Spring提供的AOP功能,方便进行面向切面编程,许多不容易通过**OOP(Object Oriented Programming,面向对象编程)**实现的功能可以通过AOP轻松实现。
3.声明式事物的支持
- 在Spring中,我们可以从单调的烦闷事物解脱出来,通过声明式事物可以灵活的对事物的管理。从而提高开发效率和质量。
4.方便程序的测试
- 可以用非容器依赖的编程来进行几乎所有的测试。在Spring里,测试不再是昂贵的操作,而是随手可操作的事。
5.方便集成各种优秀的框架
- Spring不排斥各种优秀的框架,Spring还可以降低各种框架的使用难度,Spring提供了对各种优秀的框架等支持
6.Java 源码是经典学习范例
- Spring的源码设计精妙、结构清晰、匠心独运,处处体现着大师对Java设计模式灵活运用以及对Java技术的高深造诣。Spring框架源码无疑是Java技术的最佳实践范例。如果想在短时间内迅速提高自己的Java技术水平和应用开发水平,学习和研究Spring源码将会使你收到意想不到的效果。
Spring maven配置:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.0.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>5.0.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>5.0.1.RELEASE</version>
</dependency>