Spring各jar包的功能

Jenkins-Remoting 任意文件读取漏洞(CVE-2024-43044) Jenkins 使用 Remoting 库(通常为agent.jar或remoting.jar)实现控制器与代理之间的通信,该库允许代理从控制器加载类和类加载器资源,以便从控制器发送的 Java 对象(构建步骤等)可以在代理上执行。当获取到node1机器的权限后,可以得到连接到Jenkins主服务器的secret和name,这时需要将连接使用的agent.jar替换成恶意的Agent连接Jar包。连接成功后在Jenkins主服务器上可以看到已连接的标识,成功连接之后就可以在Agent节点上部署任务了。 阅读详情

最近在学习SSH,各类jar包巨多,而又不清楚各个jar包的功能,给学习过程带来了一些困惑,同时也导致lib目录下的jar包冗余臃肿。

因此,通过上网和查阅书籍,花了点时间稍稍整理了一下,也有助于提高学习效率。

关于spring.jar

spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。 spring-src.zip就是所有的源代码压缩包。除了spring.jar 文件,Spring 还包括有其它21 个独立的jar 包,各自包含着对应的Spring组件,用 户可以根据自己的需要来选择组合自己的jar 包,而不必引入个spring.jar 的所有类文件。 这个在~3.03 之后不再提供!

我的PC上的Spring3.2的jar包列表图。


1.spring-aop

这个jar 文件包含在应用中使用Spring 的AOP 特性时所需的类和源码级元数据支持。

使用基于AOP 的 Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。

外部依赖spring-core, (spring-beans,AOP Alliance, CGLIB,Commons Attributes)。

关于org.springframework.asm  

Spring 独立的 asm 程序 , Spring2.5.6 的时候需要 asmJar包, 3.0 开始提供他自己独立的 asmJar 。

2.spring-aspects.jar

提供对AspectJ的支持,以便可以方便的将面向方面的功能集成进IDE中,比如Eclipse AJDT。

外部依赖。

3.spring-beans.jar

这个jar 文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean 以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI 支持, 引入spring-core.jar 及spring-beans.jar 文件就可以了。

外部依赖spring-core,(CGLIB)。

4.spring-context.jar

这个jar 文件为Spring 核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI 所需的全部类,instrumentation组件以及校验Validation 方面的相关类。

外部依赖spring-beans, (spring-aop)。

 5.spring-context-support

包含支持缓存 Cache ( ehcache )、 JCA 、 JMX 、 邮件服务( Java Mail 、 COS Mail )、任务计划 Scheduling ( Timer 、 Quartz )方面的类。

以前的版本中应该是这个:spring-support.jar 这个jar 文件包含支持UI模版(Velocity,FreeMarker,JasperReports),邮件服务,脚本服务(JRuby),缓存Cache(EHCache),任务计划Scheduling(uartz)方面的类。

外部依赖spring-context, (spring-jdbc, Velocity, FreeMarker, JasperReports, BSH, Groovy,JRuby, Quartz, EHCache)

6.spring-core.jar

这个jar 文件包含Spring 框架基本的核心工具类。Spring 其它组件要都要使用到这个包里的类,是其 它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。

外部依赖Commons Logging, (Log4J)。

关于spring-dao.jar(3.x版本里,没有发现这个包)

这个jar 文件包含Spring DAO、Spring Transaction 进行数据访问的所有类。为了使用声明型事务支持,还需在自己的应用里包含spring-aop.jar。

外部依赖spring-core,(spring-aop, spring-context, JTA API)。

7.spring-expression  

Spring 表达式语言。

8.spring-instrument 

Spring3.0 对服务器的代理接口。

9. spring-instrument-tomcat 

Spring3.0 对 Tomcat 的连接池的集成。

10.spring-jdbc.jar

这个jar 文件包含对Spring 对JDBC 数据访问进行封装的所有类。

外部依赖spring-beans,spring-dao。

11.spring-jms.jar

这个jar包提供了对JMS 1.0.2/1.1的支持类。

外部依赖spring-beans,spring-dao,JMS API。

此外,还有下面这些以spring-j*开头的包,本人还没用过。

spring-jmx.jar

这个jar包提供了对JMX 1.0/1.2的支持类。 外部依赖spring-beans,spring-aop, JMX API。

spring-jca.jar

对JCA 1.0的支持。 外部依赖spring-beans,spring-dao, JCA API。

spring-jdo.jar

对JDO 1.0/2.0的支持。 外部依赖spring-jdbc, JDO API, (spring-web)。

spring-jpa.jar

对JPA 1.0的支持。 外部依赖spring-jdbc, JPA API, (spring-web)。

12.spring-messaging

13. spring-orm 

包含 Spring 对 DAO 特性集进行了扩展,使其支持 iBATIS 、 JDO 、 OJB 、 TopLink ,   因为 Hibernate 已经独立成包了,现在不包含在这个包里了。这个jar 文件里大部分的类都要依赖 spring-dao.jar 里的类,用这个包时你需要同时包含 spring-dao.jar 包。

14. spring-oxm  

Spring 对 Object/XMl 的映射支持 , 可以让 Java 与 XML 之间来回切换。

关于spring-remoting.jar

这个jar 文件包含支持EJB、远程调用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的类。

外部依赖spring-aop, (spring-context,spring-web,Hessian,Burlap,JAX-RPC,EJB API)。

15.spring-test

对 Junit 等测试框架的简单封装。

16.spring-tx

以前应该是在这里org.springframework.transaction

为 JDBC 、 Hibernate 、 JDO 、 JPA、Beans 等提供的一致的声明式和编程式事务管理支持。

17.spring-web.jar

这个jar 文件包含Web 应用开发时,用到Spring 框架时所需的核心类,包括自动载入Web ApplicationContext 特性的类、Struts 与JSF 集成类、文件上传的支持类、Filter 类和大量工具辅助类。

外部依赖spring-context, Servlet API, (JSP API, JSTL, Commons FileUpload, COS)。

org.springframework.web.portlet  

SpringMVC 的增强。

org.springframework.web.servlet  

对 J2EE6.0 的 Servlet3.0 的支持。

org.springframework.web.struts 

Struts 框架支持,可以更方便更容易的集成 Struts 框架。

18.spring-webmvc.jar

这个jar 文件包含Spring MVC 框架相关的所有类。包括框架的Servlets,Web MVC框架,控制器和视图支持。当然,如果你的应用使用了独立的MVC 框架,则无需这个JAR 文件里的任何类。

外部依赖spring-web, (spring-support,Tiles,iText,POI)。

19.spring-webmvc-protlet

20.spring-websocket

Spring与其他框架整合的jar包

spring-hibernate2.jar

对Hibernate 2.1的支持,已经不建议使用。

外部依赖spring-jdbc,Hibernate2,(spring-web)。

spring-hibernate3.jar

对Hibernate 3.0/3.1/3.2的支持。

外部依赖spring-jdbc,Hibernate3,(spring-web)。

spring-toplink.jar

对TopLink框架的支持。

外部依赖spring-jdbc,TopLink。

spring-ibatis.jar

对iBATIS SQL Maps的支持。

外部依赖spring-jdbc,iBATIS SQL Maps。

另外的两个包。

spring-mock.jar

这个jar 文件包含Spring 一整套mock 类来辅助应用的测试。Spring 测试套件使用了其中大量mock 类,这样测试就更加简单。模拟HttpServletRequest 和HttpServletResponse 类在Web 应用单元测试是 很方便的。并且提供了对JUnit的支持。

外部依赖spring-core。

WEAVER JARS (dist/weavers)说明。

spring-agent.jar

Spring的InstrumentationSavingAgent (为InstrumentationLoadTimeWeaver),一个设备代理包,可以参考JDK1.5的Instrumentation功能获得更多信息。

外部依赖none (for use at JVM startup: "-javaagent:spring-agent.jar")。

spring-tomcat-weaver.jar

扩展Tomcat的ClassLoader,使其可以使用instrumentation(设备)类。

外部依赖none (for deployment into Tomcat's "server/lib" directory)。

如果需要使用JSP语言作为Spring's web MVC tags的参数,则需要JSP 2.0的支持。或者选择Jakarta的JSTL (standard.jar)。

如何选择这些发布包,决定选用哪些发布包其实相当简单。

如果你正在构建Web 应用并将全程使用 Spring,那么最好就使用单个全部的spring.jar 文件;

如果你的应用仅仅用到简单的Inversion of Control / Dependency Injection(IoC/DI)容器,那么只需spring-core.jar与spring-beans.jar 即可;

如果你对发布的大小要求很高,那么就得精挑细选了,只取包含自己所需特性的jar 文件了。

采用 独立的发布包你可以避免包含自己的应用不需要的全部类。 当然你可以采用其它的一些工具来设法令整个应用包变小,节省空间的重点在于准确地找出自己所需的Spring 依赖类,然后合并所需的类与包就可以了。

Eclispe 有个插件叫ClassPathHelper 可以帮你找 找所依赖的类。

Spring包依赖说明:

1) spring-core.jar需commons-collections.jar,spring-core.jar是以下其它各个的基本。

2) spring-beans.jar需spring-core.jar,cglib-nodep-2.1_3.jar

3) spring-aop.jar需spring-core.jar,spring-beans.jar,cglib-nodep-2.1_3.jar,aopalliance.jar

4) spring-context.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,commons-collections.jar,aopalliance.jar

5) spring-dao.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring-context.jar

6) spring-jdbc.jar需spring-core.jar,spring-beans.jar,spring-dao.jar

7) spring-web.jar需spring-core.jar,spring-beans.jar,spring-context.jar

8) spring-webmvc.jar需spring-core.jar/spring-beans.jar/spring-context.jar/spring-web.jar

9) spring -hibernate.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring- dao.jar,spring-jdbc.jar,spring-orm.jar,spring-web.jar,spring-webmvc.jar

10) spring-orm.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring- dao.jar,spring-jdbc.jar,spring-web.jar,spring-webmvc.jar

11) spring -remoting.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring- dao.jar,spring-context.jar,spring-web.jar,spring-webmvc.jar

12) spring-support.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring-dao.jar,spring-context.jar,spring-jdbc.jar

13) spring-mock.jar需spring-core.jar,spring-beans.jar,spring-dao.jar,spring-context.jar,spring-jdbc.jar


Spring框架核心Jar包集合与功能解析 Spring框架自2003年发布以来,已经成为Java开发中最流行的框架之一。最初由Rod Johnson创建,目的是简化企业级应用的开发。它以轻量级控制反转(IoC)和面向切面编程(AOP)为内核,有效降低了各种Java技术的使用难度,并增加了可测试性和可维护性。Spring的应用范围广泛,包括Web应用程序、中间件服务、大型分布式系统等。在Spring框架中,Bean代表了应用程序中的一个组件或对象,可以是一个服务、数据访问对象(DAO)、策略对象或任何其他业务逻辑代码块。 阅读详情

相关推荐

Jenkins-Remoting agent.jar

Jenkins是一个开源的、提供持续集成服务(CI)的软件平台。Jenkins 使用 Remoting 库(通常为agent.jar或remoting.jar)实现控制器与代理之间的通信,该库允许代理从控制器加载类和类加载器资源,以便从控制器发送的 Java 对象(构建步骤等)可以在代理上执行。 Jenkins Remoting任意文件读取漏洞(CVE-2024-43044),由于Remoting库ClassLoaderProxy#fetchJar方法没有限制代理请求从控制器文件系统读取的路径,可能导致拥有Agent/Connect权限的攻击者从Jenkins控制器文件系统读取任意文件(如凭证、配置文件等敏感信息)并进一步利用导致远程代码执行。

[SSH] Copying latest remoting.jar... java.io.IOException: Could not copy rem

[SSH] Copying latest remoting.jar… java.io.IOException: Could not copy remoting.jar into ‘/root’ on agent at hudson.plugins.sshslaves.SSHLauncher.copyAgentJar(SSHLauncher.java:739) at hudson.plugins.sshslaves.SSHLauncher.access$400(SSHLauncher.java:112) at

qq_44667896的博客 3676

拼多多爬虫实战:逆向sign与anti_content动态参数解析

现代电商爬虫已远超基础HTTP请求范畴,其核心在于理解服务端如何通过动态签名(sign)、设备指纹、行为验证等多维机制定义‘合法请求’。拼多多作为典型代表,将价格、销量、评价等关键数据完全剥离HTML,转由强校验API返回,依赖HMAC-SHA256嵌套签名、anti_content前端加密载荷及滑动验证token闭环。这类机制本质上是客户端环境可信度与请求上下文一致性的实时博弈,技术价值在于保障数据安全与业务风控。典型应用场景包括竞品价格监控、销量趋势分析、评价情感挖掘等需高保真数据的商业分析任务。本文聚

weixin_29741447的博客 831

【转】spring配置jar包功能详解

<br /> <br />spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar, aspects.jar, spring-<br />portlet.jar, and spring-hibernate2.jar。<br />spring-src.

Kevin's blog 1145

极化码理论及算法研究6-SCL、CA-SCL及matlab仿真

极化码译码算法5——SCL/CA-SCL译码算法系列目录1、引言2、串行抵消列表(SCL)译码算法2.1、路径度量PM 系列目录 (如要找其他内容,欢迎访问我的主页寻找) #前言 #极化码概述 #极化码定义 #极化码编码 #极化码译码 #5G标准中极化码的编译码概述 #5G标准中极化码的编码 #5G标准中极化码的译码 #总结 1、引言 在上一节中,介绍了经典的SC译码算法的理论原理以及其matlab仿真代码,SC译码算法具有较低的译码复杂度,但是由于每个译码的比特信息都依赖于前面所有的比特信息的译码结果,得

1万+

大疆C板使用C610电调驱动M2006电机(hal库)

大疆C板使用C610电调驱动M2006电机,以及遇到代码没问题,但是电机死活不转的处理

qq_46210601的博客 6014

java spring mvc (一)jar 包以及xml文件配置

这篇文章是对实际学习开发web程序的记录和经验分享,其中可能会有一些错误的看法,欢迎大家提出各自的看法。由于实际过程中是以开发出可以运行的系统为目的,而作业时间比较紧张,所以在这个过程中没有很深入得理解spring 框架的ioc soap的思想,所以也希望在结束之后通过这次总结完善对于spring框架机制的理解。 (这里记录一下项目中的jar包以及基础的xml文件配置,亲测可用。关于jar包的核

MapleStory11的博客 873

OpenClaw实战系列03:Slack/Telegram国际版接入实战指南

在当今的软件开发和工作流自动化中,将项目管理工具与即时通讯平台集成已成为提高团队协作效率的关键。OpenClaw作为一个开源的自动化工具,通过接入Slack和Telegram国际版,可以实现实时通知、自动化任务触发和团队协作的无缝对接。本文将详细介绍如何实现OpenClaw与这两个主流即时通讯平台的集成。OpenClaw是一个开源的自动化工作流引擎,支持多种触发器和执行器,能够帮助开发团队实现CI/CD流程、任务调度、监控告警等自动化场景。模块化设计:支持插件化扩展多触发器支持。

PeterPan的博客 586

spring所需要的jar包及各个功能

spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的。    除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需...

lychee_wf的博客 803

图解电动汽车:电动汽车主要参数

动力性指标 汽车的动力性指标主要有最高车速、加速时间、最大爬坡等,体现了汽车在行驶过程中能达到的极限运动水平。对于电动汽车,其动力性由搭载的驱动电动机决定,主要的参数包括最大扭矩、额定功率、最大功率、最大转速等。 功率是指物体在单位时间内所做的功的多少,是描述做功快慢的物理量,单位是 kW。 扭矩是指机械元件转动的力矩,也称转矩,表示转动力量的大小,单位是 N·m。 转速是指发动机/电动机的转速,的单位是 rpm,即转每分钟。额定转速是指在额定功率下电动机的转速,最大转速则是在最大功率下电动机的转速。

程序员「阿基米东」的编程之旅 2万+

CODESYS数据处理合集(高低字节/ 字/浮点数/位)

VAR_INPUT//字节0//字节1END_VARVAREND_VAR。

RXXW_Dor的博客 352

Spring源码学习-spring的jar包功能

Spring jar包的描述:针对3.2.2以上版本 org.springframework spring-aop ——Spring的面向切面编程,提供AOP(面向切面编程)实现 org.springframework spring-aspects —— Spring提供对AspectJ框架的整合 org.springframework spring-beans —— SpringIoC(依赖注入...

qq_40272613的博客 167

使用 FastAPI 和 LangGraph 构建生产级智能体 AI 系统

这是一本关于使用 FastAPI 和 LangGraph 构建生产级智能体 AI 系统的详细书籍,全文约 10 万字。《Production-Grade Agentic AI System Design and Implementation: Building Agentic AI Systems Using FastAPI and LangGraph》随着人工智能(AI)技术的迅猛发展,智能体(Agent)作为能够自主感知、推理、决策和行动的实体,正逐渐成为构建复杂智能系统的核心。从个性化推荐、客户服务到

AI天才研究院 346

spring中各jar功能及jar包之间的依赖关系

spring中各jar功能及jar包之间的依赖关系 (1) spring-core.jar 这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。 (2) spring-beans.jar 这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean

小小的梦想 280

高通 vs MTK vs 海思:三大平台 ISP 架构横向对比与实战差异分析

随着移动影像能力成为智能终端差异化竞争的核心维度,ISP(Image Signal Processor)架构日益重要。高通、MTK、海思三大 SoC 厂商在 ISP 设计上各具特色,不仅在图像处理链路、模块集成度、算法加速路径等方面存在显著差异,同时也决定了终端厂商在成像质量、调试复杂度与扩展能力上的实际表现。本文将基于真实平台项目经验,横向对比三大主流平台的 ISP 架构关键指标,系统分析其在实际开发过程中的能力边界、工程成本与调优空间,帮助工程师更精准地进行平台选型与优化策略制定。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 3926

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java——Spring常用jar包功能详解

很多小伙伴包括我自己,在使用spring的时候导入了一堆jar包,但是并不明白每个jar的用途,使用spring的不同功能时也不知该导入哪个jar包,今天记录一下spring各个jar包的含义,供大家参考: Spring常用jar包功能介绍: org.springframework.aop ——Spring的面向切面编程,提供AOP(面向切面编程)的实现 org.springframe...

用代码征服天下 300

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

使用Spring3的AOP功能需要的jar包

本文转载自:http://blog.sina.com.cn/s/blog_4fb490ff0100sbg7.html 使用Spring3的AOP基本功能需要至少下面的jar包定义在CLASS_PATH里。 aopalliance.jar aspectjweaver.jar org.springframework.aop 可以看出除了spring自己的aop包之外还需要aop allian

kxf87988465的专栏 518

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Spring与Mybatis整合(mybatis-spring整合jar包功能)

一、 MyBatis与Spring的集成 在学习mybatis配置时,对于mybatis-config配置的时候我们发现,大致是需要配置三个方面:setting、datasource、mappers 而mybatis的setting往往使用默认配置,所以我们经常配置datasource数据源与mappers映射,但学习spring之后发现,对于datasource的配置交由spring进行管理,所以在spring与mybatis整合后mybatis的配置文件中将不需要配置datasource,mybatis

weixin_51443782的博客 3605

【转】使用Spring3的AOP功能需要的jar包

  转载自http://blog.sina.com.cn/s/blog_4fb490ff0100sbg7.html   使用Spring3的AOP基本功能需要至少下面的jar包定义在CLASS_PATH里。 aopalliance.jar aspectjweaver.jar org.springframework.aop 可以看出除了spring自己的aop包之外还需要aop allian...

paladin1988的专栏 199

Spring各个jar包的功能

(1)Spring-core.jar(核心工具类)依赖注入IoC与DI的最基本实现,这个jar 文件包含Spring 框架基本的核心工具类。Spring 其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。 外部依赖Commons Logging, (Log4J)。(2)Spring-bean.jar bean:Java面向对象,对象有方法和属

757

spring与hibernate配置jar包功能详解

最近搞SSH和一个框架的整合,结果总是出许多莫名奇妙的错误,刚开始基本都是jar包的配置有问题,一会少包,一会多包, 一会又版本冲突。令我很是头疼,搞了我两天,现在还是有配置文件的错误。郁闷之情难以言表。无意中在网上见到了讲jar包功能的随笔 ,于是贴过来,做个记录。 了解这些内容有助于我们减小发布包的大小,同时也可以增加对Spring架构...

iteye_12813的博客 105

spring的jar功能说明及个jar包之间的依赖关系

spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的。   除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要...

xialihui的博客 221
上一篇: maven中properties标签定义变量
下一篇: 如何在MAVEN中配置Spring的依赖包
前端蜗牛君
博客等级 码龄10年 274粉丝 158原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值