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

如何在Maven中配置Spring依赖

发布网友 发布时间:2022-04-23 22:46

我来回答

1个回答

热心网友 时间:2022-04-09 06:55

1.1 spring-security-core
Spring Security的核心功能是由spring-security-core包提供的,包含了认证和访问控制功能、支持standalone应用程序、方法级安全和JDBC支持。
<properties>
<org.springframework.security.version>3.2.3.RELEASE</org.springframework.security.version>
<org.springframework.version>4.0.4.RELEASE</org.springframework.version>
</properties>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${org.springframework.security.version}</version>
</dependency>
注意:我们使用的是3.2.x版本的Spring Security--Spring和Spring Security有着不同的版本计划,所以他们的版本号之间没有一对一关系。
如果项目使用的是较老版本的Spring,需要注意的时Spring Security 3.1.x版本不依赖于Spring 3.1.x版本,因为Spring Security 3.1.x版本在Spring 3.1之前发布。Spring的计划是在后续的版本中,使双方的版本号更为接近,更多细节请查看这个JIRA。我们将在后面的内容中看看这种情况对我们的实际影响。
1.2 spring-security-web
要为Spring Security增加Web支持,需要引入spring-security-web依赖:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${org.springframework.security.version}</version>
</dependency>
这个项目为Servlet环境引入了针对URL访问控制的相关基础安全组件和过滤器。
1.3 Spring Security与较老版本的Spring Core之间的依赖问题
如上文所述,这个新的依赖产生一个Maven依赖关系问题,Spring Security的相关jar不依赖于最新的Spring core的jar (而是以前的版本)。这可能使的被依赖的Spring core相关包在类路径中被配置前在最新的Spring 4.x相关包的前面。
这是如何发生的呢?我们需要了解Maven处理版本冲突的机制,Maven会选择与依赖树树根最接近的版本。在之前的情况中,spring-orm依赖4.x版本的spring-core,而spring-security-core依赖于3.2.8版本的spring-core。因此,spring-orm和sprint-security-web的定义顺序就是一个问题,先定义的会有更高的优先级。最终情况就是,我们的类路径中会有两个版本的spring-core。
为了避免这类问题,我们需要在我们的pom文件中明确指定一些Spring依赖,而不依靠Maven隐式依赖机制。我们将在pom的根文件中定义特定的依赖关系,这样这些依赖关系将会有更高的优先级。下面例子中,将对所有的Spring核心组件明确定义相同的版本,对于多模块项目,需要在父配置文件的dependencyManagement属性中定义。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${org.springframework.version}</version>
</dependency>
1.4 spring-security-config及其他
要使用丰富的Spring Security XML的命名空间,需要定义spring-security-config依赖:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${org.springframework.security.version}</version>
<scope>runtime</scope>
</dependency>
没有任何代码需要在编译时依赖这个包,所以它的范围应该定义为runtime。
最后,LDAP、ACL、CAS和OpenID支持需要分别增加各自的依赖包:spring-security-ldap, spring-security-acl, spring-security-cas和spring-security-openid。
如何在Maven中配置Spring依赖

在Maven配置Spring MVC 要增加Spring Web和Servlet支持,需要在上面已配置的pom文件中额外增加两个依赖:&lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-web&lt;/artifactId&gt; &lt;version&gt;${org.springframework.version}&lt;/version&gt;&lt;/dependency&gt;&lt;dependency&gt; &lt;groupId&gt;org...

maven中如何配置springboot的相关依赖和热启动

maven中配置springboot的相关依赖和热启动的方法如下:1、在maven中配置springboot的相关依赖及热启动,需要在pom.xml文件中添加springboot的相关依赖。2、在maven插件中添加spring-boot-maven-plugin插件,用于启动springboot应用。3、在maven插件中添加spring-boot-devtools插件,用于实现热启动。

如何在Maven中配置Spring Security依赖

1.3 Spring Security与较老版本的Spring Core之间的依赖问题 如上文所述,这个新的依赖产生一个Maven依赖关系问题,Spring Security的相关jar不依赖于最新的Spring core的jar (而是以前的版本)。这可能使的被依赖的Spring core相关包在类路径中被配置前在最新的Spring 4.x相关包的前面。这是如何发生的...

Maven阿里云镜像解决SpringBoot依赖问题

首先,确保你的IDEA或其他开发工具的Maven配置指向了包含阿里云镜像的settings.xml。在IDEA中,可以通过【File】 → 【Settings】 → 搜索“Maven”来找到并配置,如图所示。在Windows系统中,settings.xml默认位于用户目录的.m2文件夹内,你可以将包含阿里云镜像的settings.xml替换掉,从而避免后续依赖下载问题...

怎么在eclipse maven中添加spring框架

在eclipse下建立一个project,此处以demo为例建立项目。因为此处结合struts2首先对struts2做简单的配置,主要以下几个文件配置web.xml,struts.xml,同时导入相应的jar。现在开始配置spring,问题在于导入哪些jar,结合本人的经验,spring-3-2-0导入以下基本jar便可,若要使用其他功能要导入相应的jar。导入较多...

在Maven里,Hibernate4和Spring3应该怎么配置C3P0

去maven 的中央仓库查依赖的配置。中央然后搜索hibernate 或都spring就会出现所有有关的项目 找到你需要的点进去就会出现如下页面 然后复制粘贴就可以了,不懂追问我

如何用springboot创建maven的依赖工程

最近公司运用springboot构建项目,确实比ssh搭建要快很多。springboot官方学习网站1.首先要下载maven,用maven管理项目很方便,下载完maven配置好环境,maven我就不细说了。2.创建一个maven项目,pom.xml文件里面写这些:&lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;&lt;groupId&gt;springboot&lt;/groupId&gt;&lt;artifactId&gt;testSpringBoot&lt;/artifact...

Spring+Boot整合MyBatis的逆向工程需要在pom文件中配置相应的依赖是...

首先,你需要添加MyBatis相关的依赖:xml复制代码&lt;dependency&gt; &lt;groupId&gt;org.mybatis.spring.boot&lt;/groupId&gt; &lt;artifactId&gt;mybatis-spring-boot-starter&lt;/artifactId&gt; &lt;version&gt;2.2.0&lt;/version&gt;&lt;/dependency&gt; 接下来,你还需要添加MySQL数据库驱动依赖(如果你使用的是MySQL):xml复制代码&lt;dependency&gt; ...

创建springboot项目(maven创建springboot项目)

第一步:启动一个新的SpringBoot项目利用启动.spring.io创建一个“网络”项目。在“依赖项”对话框中搜索并添加“web”依赖项,如屏幕截图所示。点击“生成”按钮,下载zip,然后将其解压缩到计算机上的文件夹中。其实SpringBoot项目的启动,本质上就是一个Spring的初始化操作。新建springboot项目在pom....

如何简洁高效的搭建一个SpringCloud2023的maven工程

选择Maven作为工程项目和依赖管理工具来搭建SpringCloud2023的maven工程,主要是因为其具有多模块和BOM依赖管理的特点,提高效率与统一性。在Maven多模块项目中,依赖包不共享,但父模块可以统一管理全局共享依赖,避免重复配置,简化项目管理。BOM依赖管理是Maven提供的一种集中管理依赖关系和版本的方式,通过定义...

在工作当中如何摆脱依赖 Spring依赖注入 Spring的五种依赖注入方式 spring依赖 spring的依赖注入有几种 spring的依赖注入方式 spring的循环依赖 spring依赖注入有几种方式 spring依赖注入时机
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ipad propro现在的报价是多少钱? 为什么用联想扬天T5900V型的配置的电脑打街头篮球卡得要死 联想杨天T5900v这台电脑 联想扬天T5900V的问题 联想扬天威M5900d 1899元特惠:1T硬盘+4年上门售后,性能如何? 英尺,英尺,寸,英寸,尺寸的 ,关系 我的E家用户怎么进入这个页面? 尿酸高为什么不能喝纯净水 怎么用我的E家无线上网? 长时间饮用纯净水会引起人,体,尿酸,高吗 maven怎么在eclipse里面配置 maven 初学,mvn test 一个简单的demo,出现以下问题 eclipse配置好了maven怎么测设成功 个人的视频被他人泄漏了怎么办 maven的src/test/resources中的配置文件怎样读取? 邹凯周捷相处模式引热议,你认为夫妻争执对东西撒气合适吗? 我很嫉妒我嫂子,经常因为她跟我老公撒气,影响了我的夫妻生活,我不知道该怎么调节这种心理,请帮帮我。 maven test 失败,我加了一些配置,不知道是不是有影响 “拿孩子撒气”贵州夫妻吵架,男子刀砍女儿作业,父亲怎么敢在孩子前拿刀? 高压电饭锅边缘漏气什么原因,换了新的密封圈也是一样的 女人漏气了什么意思 一开火煤气罐就有漏气的声音正常吗?急要答案 请问,习练智能气功,应该怎样正确的安排夫妻双方的性生活? 哺乳期同房时漏奶 夫妻间性生活,使用避孕套真的安全吗?为什么呢? 女生抬腿感觉下面漏气是怎么回事 俄罗斯生活水平如何? 我的下面总感觉漏气?什么原因? 俄罗斯是一个大国,为何他们的人口越来越少? 阴道松弛,下边漏气像放屁一样的能吃药吗 eclipse配置maven的问题 eclipse中怎么配置maven eclipse 自带maven 配置在哪 求候选码和所有候选码有什么区别 如何在MAVEN中配置Spring的依赖包 maven项目之前的名字叫test, 后来我改成了demo, 重新部署后访问只能用test名访问,怎么解? 码和主码,候选码的概念 加盟京东便利店需要什么条件? 开一家京东电器专卖店多少钱 做错了事怎么哄女朋友 京东开店店现在要多少钱 做错事了,怎么哄女朋友开心? 在京东上开加盟店需要多少钱? 因为做错事情,让女朋友不高兴了,要怎样哄她? 加盟京东物流要多少钱? 我做错事了事情,该怎么去跟女友道歉呢? 京东家电专卖店加盟多少钱,怎么联系京东负责人 做错事惹女朋友生气怎么办 加盟京东大概需要多少钱 男生犯错了应该怎么哄女朋友