Skip to content

基本概念

Spring框架是为了解决软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。

Spring是分层的Java SE/EE应用full-stack(各层都有解决方案)轻量级开源框架,以IoC反转控制和AOP面向切面编程为内核

Spring提供了展现层SpringMVCWeb层)和持久层Spring JDBCTemplate以及业务层事务管理等众多的企业级应用技术,还能整合开源世界中众多著名的第三方框架和类库,逐渐成为使用最多的Java EE企业应用开源框架

Spring的优势:

  • 方便解耦,简化开发

    通过Spring提供的IoC容器,可以将对象间的依赖关系交由Spring进行控制,避免硬编码造成的过度耦合,用户也不必再为单例模式类,属性文件解析等底层的需求编写代码,可以更专注于上层任务

  • AOP编程的支持

    通过SpringAOP功能,方便进行面向切面编程,许多不容易用传统OOP实现的功能可以通过AOP实现

  • 声明式事务的支持

    可以将我们从单调烦闷的事务管理代码(提交事务,回滚等)中解脱出来,通过声明方式灵活的进行事务管理,提高开发效率和质量

  • 方便程序的测试

    可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可做的事情

  • 方便集成各种优秀的框架

    Spring对各种优秀的框架(StrutsHibemateHessianQuartz等框架)有很好的支持

  • 降低Java EE API的使用难度

    SpringJava EE API(如JDBCJavaMail、远程调用等)进行了薄薄的封装层(模板),使这些API的使用难度大为降低

  • Spring的源代码设计巧妙,处处体现了Java设计模式的灵活运用,其源代码是Java技术学习的最好典范

Spring的体系结构

image-20250506202055898

  • 最顶部的两层是数据访问层和Web应用层,其实现要借助中间层的工具
  • 中间层包括AOP和切面等编程技术
  • Core Container:核心容器,主要涉及的是IoC的知识点,有主要的四个部分:产生对象的容器、核心、上下文和Spring的表达式语言
  • Test表示整体的框架都可以进行测试

Released under the MIT License.