问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Spring是什么?有哪些优点?体系结构是怎样的?框架包的下载

发布网友 发布时间:2024-09-07 02:17

我来回答

1个回答

热心网友 时间:2024-09-07 03:22

Spring是什么?

Spring是分层的JavaSE/EEfull-stack轻量级开源框架,以IOC(InverseofControl控制反转)和AOP(AspectOrientedProgramming面向切面编程)为内核,使用基本的JavaBean来完成以前只可能由EJB完成的工作,取代了EJB的臃肿、低效的开发模式。

在实际开发中,通常服务器端在采用三层体系架构,分别为表示层(Web)、业务逻辑层(Service)、持久层(Dao),Spring对每一层都提供了技术支持。|表示层|SpringMVC在表示层提供了与Struts等框架的整合||--|--||业务逻辑层|Spring的IoC在业务逻辑层可以管理事务、记录日志等||持久层|Spring的JDBC、ORM、等持久层框架在持久层可以整合Hibernate、JdbcTemplate等技术|

Spring有哪些优点?

1.非侵入式设计非侵入式:远程调试而不植入,spring不再用new的方式来创建对象,而是使用依赖注入的方式。控制反转将对象的创建交给了spring,简化了开发,降低了代码之间的耦合性和侵入性。

2.方便解耦、简化开发Spring就是一个大工厂,使用Spring的IOC容器可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,大大地降低了组件之间的耦合性。

3.支持AOPSpring提供了对AOP的支持,它允许将一些通用任务,如安全、事物、日志等进行集中式处理,从而提高了程序的复用性。

4.支持声明式事务处理只需要通过配置就可以完成对事物的管理,而无须手动编程。

5.方便程序的测试Spring提供了对Junit4的支持,可以通过注解方便的测试Spring程序。

6.对主流的框架提供了很好的集成支持Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如Struts、Hibernate、MyBatis、Quartz等)的直接支持。

7.降低JaveEEAPI的使用难度Spring对JavaEE开发中非常难用的一些API(如JDBC、JavaMail等),都提供了封装,使这些API应用难度大大降低。

8.SpringDI机制降低了业务对象替换的复杂性。

Spring的体系结构一、CoreContainer(核心容器)

Spring的核心容器是其他模块建立的基础,它主要由Beans模块、Core模块、Context模块Context-support模块和SpEL(SpringExpressionLanguage,Spring表达式语言)模块组成。

Beans模块:提供了BeanFactory,是工厂模式的经典实现,Spring将管理对象称为Bean。

Core核心模块:提供了Spring框架的基本组成部分,包括IoC和DI功能。

Context上下文模块:建立在Core和Beans模块的基础之上,它是访问定义和配置的任何对象的媒介。

SpEL模块:Spring3.0后新增的模块,它提供了SpringExpressionLanguage支持,是运行时查询和操作对象图的强大的表达式语言。

二、DataAccess/lntegration(数据访问/集成)

数据访问/集成层包括JDBCORMOXMJMS和Transactions模块。

JDBC模块:提供了一个JDBC的抽象层,大幅度地减少了在开发过程中对数据库操作的编码。

ORM模块:对流行的对象关系映射API,包括JPA、JDO和Hibernate提供了集成层支持。

OXM模块:提供了一个支持对象/XML映射的抽象层实现,如JAXB、Castor、XMLBeans、JiBX和XStream。

JMS模块:指Java消息传递服务,包含使用和产生信息的特性,自4.1版本后支持与Spring-message模块的集成。

Transactions事务模块:支持对实现特殊接口以及所有POJO类的编程和声明式的事务管理。

三、Web

SpringWeb层包括WebSocket、Servlet、Web和Portlet模块。

WebSocket模块:Spring4.0以后新增的模块,它提供了WebSocket和SockJS的实现,以及对STOMP的支持。

Servlet模块:也称为Spring-webmvc模块,包含了Spring的模型一视图一控制器(MVC)和RESTWebServices实现的Web应用程序。

Web模块:提供了基本的Web开发集成特性,例如:多文件上传功能使用Servlet听器来初始化loC容器以及Web应用上下文。

Portlet模块:提供了在Portlet环境中使用MVC实现,类似Servlet模块的功能。

四、其他模块

Spring的其他模块还有AOP、Aspects、Instrumentation以及Test模块。

AOP模块:提供了面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以降低耦合性。

Aspects模块:提供了与AspectJ的集成功能,AspectJ是一个功能强大且成熟的面向切面编程(AOP)框架。

Instrumentation模块:提供了类工具的支持和类加载器的实现,可以在特定的应用服务器中使用。

Messaging模块:Spring4.0以后新增的模块,它提供了对消息传递体系结构和协议的支持。

Test模块:提供了对单元测试和集成测试的支持。

Spring框架包、第三方依赖包

Spring开发所需的jar包分为两个部分:Spring框架包和第三方依赖包。

Spring框架包:下载地址在libs目录中有四个Spring的基础包,分别对应Spring核心容器的四个模块。

spring-core-4.3.6.RELEASE.jar包含Spring框架的核心工具类,Spring其它组件都要用到这个包里的类。

spring-beans-4.3.6.RELEASE.jar所有应用都要用到的JAR包,它包含访问配置文件、创建和管理Bean以及进行控制反转或者依赖注入操作相关的所有类。

spring-context-4.3.6.RELEASE.jar提供了在基础IoC功能上的扩展服务,还提供了许多企业级服务的支持。

spring-expression-4.3.6.RELEASE.jar定义了Spring的表达式语言。

第三方依赖包:下载地址在使用Spring开发时,除了要使用自带的JAR包外,Spring的核心容器还需要依赖commons.logging的JAR包。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 临朐自驾游最佳路线,山东出发房车旅游路线 淄博市联通路和天津路皮卡车能走吗? 皮卡车进淄博市里需要哪些手续? 如何增加爱犬饮食中的纤维含量 增加爱犬饮食中的纤维含量方法 战略规划评估规划 作为一个企业的管理者,如何确定战略路线? excel如何设置高考倒计时 EXCEL如何按日期排序 ...我担心让朋友知道,不和我玩啦,我该怎么去味 狐臭腋臭去根方法 ...腋下留下了黄汗,不管洗的多干净,穿一天流汗又有味了,怎样去... 过敏性紫癜的皮疹不只是红色:探秘过敏性紫癜皮疹的颜色变化! 艾滋病的红点是什么样 幼儿急疹的疹子是什么样的 用PS笔刷和文字简单制作海报 通知嫌疑人家属刑事拘留决定期限是多久 刑事拘留家属多久收到通知 海报怎么用ps进行图片和文字更换ps海报怎么改文字 顾客满意什么是顾客满意 澳洲德国哪个贵 墨尔本物价消费水平 墨尔本有什么好玩的 JAVA架构(java架构是指什么) 网络用语靠北的含义 网络用语靠北是什么意思 海鲜不能和什么蔬菜一起吃 海鲜和什么蔬菜相克 海鲜与什么蔬菜相克 国内十大期货投资理财APP平台排名(2024最新版) 期货交易用什么app 国内十大期货交易app排名名单 期货用什么APp 国内前十资质正规期货交易平台app软件最新排名(综合版) ps字体设计的方法ps怎么做海报漂亮字体 3月份带宝宝出行的旅游注意事项 3月份带宝宝出行的旅游有什么注意事项... 3月份带宝宝出行的旅游注意事项 家里做蒸汽海鲜的做法 地球离月球多少距离 离职的时候是否可以要求单位出具离职证明 原公司未倒闭,换另一家公司接管后,怎么签劳动合同,有没有影响,是续签吗... 不同的矛盾只能用不同的方法去解决,是否正确? 对不同类型的污染有什么解决方法 烤漆是什么意思 有哪些实惠又好吃的甜品值得购买?