视频看完有段时间了,一直在总结,看了别人的不少总结,感觉都写的很好,不过很多都是注重了知识点的总结,缺少宏观上的指导,比如:Spring里出名的IoC容器,只说了它的概念,然后给个代码的示例就算完成总结了。我觉得总结就应该像老师经常说的那样,先宏观上说说,然后再具体介绍知识点,甚至是具体的知识点可以简单的说说就行,因为那些个知识点在帮助文档里介绍的很详细了,用的时候查一下就OK。
下面就SSH里的Spring谈谈它究竟哪儿好?为什么有人要在项目里使用它?它能给我们带来什么?其实也不完全是出自我个人的工程经验,大都是看别人的总结把我认为不错的地方加以修改总结到一起的,希望能够给大家带来帮助,也希望正在学习Spring的同志们能够受到一点启发,同时也是给自己留着以后回顾的时候可以看看。
Spring为何而生?
开发人员都知道Java EE框架下企业级开发采用EJB框架存在一些不足:
1、 EJB比较笨重,而且Entity EJB不能脱离容器
2、 企业级服务使用比较困难
3、 开发的复杂度也比较高
4、 它是侵入式方案设计,EJB需要使用特定的接口
为了优化解决这些个问题,Spring就应用而生了…
Spring有哪些作用,为什么要用它?
1、 简化了企业级开发
a) 封装了大部分的企业级服务,提供了更好的访问这些个服务的方式
b) 提供了IoC、AOP等功能的容器,实现松耦合,更加方便编程和维护
2、 遵守Spring框架的应用程序,一般都是设计良好的针对接口编程,这样可以简化企业级程序的设计。
3、 Spring的基本结构(看图)
a) SpringCore:核心容器,提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IoC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
b) SpringContext:ApplicationContext,扩展核心容器,提供事件处理、国际化等功能。它提供了一些企业级服务的功能,如提供了JNDI,EJB,RMI的支持。
c) SpringAOP:通过配置管理特性,Spring AOP 模块直接将面向切面的编程功能集成到了Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB组件,就可以将声明性事务管理集成到应用程序中,我们主要应用的就是它的声明式事务的能力。
d) SpringDAO:JDBC 、DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
e) Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JPA、TopLick、OJB、JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
f) SpringWeb 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
g) SpringMVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。
总结:Spring对企业级服务进行了进一步的封装,简化了企业级开发。同时采用它也就意味着进行了良好的分层设计,并保证了面向接口编程,加上它的IoC和AOP容器的优势,更加方便我们后期的维护工作,但是由于容器大量的使用反射机制装配对象,一定会影响性能,对于一些高并发的大型应用我们还是要慎用。
分享到:
相关推荐
内容如下: spring.rar [spring_aop1] [spring_aop2] [spring_aop3] [spring_aop4] [spring_autowire_byName] [spring_autowire_byType] [spring_beginning] [spring_hibernate_1] [spring_hibernate_2] ...
9. **Spring Cloud Gateway**: Spring Cloud Gateway 是新一代的 API 网关,取代了 Zuul,提供更高效、更灵活的路由、过滤器等功能,同时具备更好的性能和扩展性。 10. ** Sleuth 和 Zipkin**: Sleuth 是一个分布式...
通过阅读《Spring in Action》和《精通Spring》,开发者不仅可以掌握Spring框架的基础用法,还能深入理解其设计理念,从而在实际项目中更好地利用Spring提高开发效率和代码质量。这两本书覆盖了大量的实例和最佳实践...
8. **国际化支持**:Spring 3.0的MessageSource接口提供了更好的国际化支持,可以更方便地处理多语言环境。 9. **测试框架增强**:Spring 3.0的测试支持更加完善,包括对Mockito等第三方库的集成,使得单元测试和...
3. **面向切面编程(AOP)**:AOP允许开发者将横切关注点(如日志、事务管理)从业务逻辑中分离,提供更好的代码组织和复用。Spring通过代理模式实现了AOP。 4. **Spring MVC**:Spring MVC是Spring框架的一部分,...
5.3.8 版本的 Spring Framework 可能与 Spring Boot 的某个版本兼容,共同为开发者提供更好的开发体验。 7. **测试**:Spring 提供了丰富的测试支持,包括单元测试、集成测试和端到端测试。在 5.3.8 版本中,测试...
这个压缩包包含的是编译好的Spring 4.3.0版本的源码,对于学习和理解Spring的工作原理极其有价值。 在Spring 4.3.0版本中,有几个重要的知识点值得深入探讨: 1. **IoC容器**:IoC是Spring的核心,它管理对象的...
在5.3.9版本中,DI机制得到了进一步的增强,支持更复杂的依赖配置和更好的类型安全。 `docs`文件夹包含Spring 5.3.9的官方文档,这是一份非常重要的资源,开发者可以通过它了解框架的所有细节。文档通常包括用户...
首先,Spring 5是Java开发者广泛使用的开源框架,它的主要改进包括对Java 8及更高版本的全面支持、反应式编程的支持(通过Spring Framework 5.0的WebFlux模块)、更好的类型安全的事件处理系统,以及对HTTP/2协议的...
本文旨在帮助开发者理解Spring Boot、Spring Cloud、Spring Boot Alibaba以及其相关组件之间的版本关系,以便更好地选择适合自己项目的版本组合,避免因版本不匹配导致的问题。 #### 二、Spring Boot与Spring Cloud...
SpringCloud是目前非常流行的一站式微服务解决方案,它提供了众多工具和服务,帮助开发者构建、部署和管理分布式系统。在微服务架构中,SpringCloud扮演着核心的角色,它集成了许多开源项目,如Eureka(服务发现)、...
Spring有多个核心模块,如Core Container、Data Access/Integration、Web等,理解这些模块的功能有助于更好地使用Spring。此外,表单的action属性设置,以及SSH项目重构的步骤也是开发中需要注意的点。 以上是对...
关于Spring框架的实践应用,开发者可以在Spring的官方文档中找到详细的API文档、指南以及各种示例项目,以帮助开发人员更好地理解和使用Spring框架。官方的下载地址和GitHub地址也提供了从源代码到二进制构建的入口...
《SpringCloud视频学习》 SpringCloud作为微服务架构的重要实现框架,深受广大开发者的喜爱。本资源包含了两部关于SpringCloud的视频教程,由尚硅谷出品,内容详实且易于理解,是学习SpringCloud的理想资料。 一、...
个人觉得spring3.2的源代码比较好编译,没啥脾气,像我之前下载的spring的最新版本源代码,还有spring4.0的源代码,不论是使用jdk1.6还是1.7甚至是1.8编译都出问题,结果还是觉得spring3.2编译过程轻松一点,配合...
"一本很好的Spring好书和spring的API"这个资源包含两部分:Spring API的CHM文件和一本Spring入门书籍的PDF,两者都是深入学习Spring框架的重要资料。 首先,让我们来探讨Spring API的CHM文件。CHM(Compiled ...
《Spring 揭秘:全面深入了解Spring》是一本旨在帮助开发者深入理解并熟练掌握Spring框架的权威指南。...通过阅读这本书,你将能够深入理解Spring的内部机制,更好地利用Spring来构建高效、可扩展的企业级应用。
这个版本在Spring 5.0发布之前提供了一个稳定可靠的平台,尤其对于那些尚未准备好升级到Java 8或Spring 5的项目来说,它是理想的选择。 Spring框架的核心特性包括依赖注入(Dependency Injection,DI),面向切面...
在IT领域,Spring框架是Java开发中的一...通过分析和学习`HelloSpringWithMongoDB-master`这个示例项目,开发者可以更好地理解如何在实际应用中结合Spring MVC和Spring Data MongoDB,实现与MongoDB数据库的高效交互。
《Spring攻略 第2版》是一本深度探讨Spring框架的书籍,旨在帮助读者全面理解并熟练掌握这个JavaEE领域的核心框架。...通过深入学习这本书,读者将能够更好地理解和运用Spring框架,构建更加高效、灵活的企业级应用。