推广 热搜: 广场  Java  app  Word  营业  微信公众号  北京代理记账  商城  代理记账  商标交易 

如何用maven搭建项目 如何在Maven中配置Spring依赖?

   2023-04-27 企业服务招财猫130
核心提示:如何在Maven中配置Spring依赖?一.spring-security-coreSpringSecurity的核心功能由spring-security-core包提供,包括认证和访问控制功能、对独

如何在Maven中配置Spring依赖?

一.spring-security-core

SpringSecurity的核心功能由spring-security-core包提供,包括认证和访问控制功能、对独立应用程序的支持、方法级安全性和JDBC支持。

ltpropertiesgt

lt/属性gt

ltdependencygt

ltartifactIdgtspring-security-corelt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依赖性gt

注意:我们使用的是SpringSecurity的3.2.x版本——Spring和SpringSecurity的版本计划不同,所以它们的版本号之间没有一一对应的关系。

如果项目使用的是Spring的老版本,需要注意的是SpringSecurity3.1.x的版本并不依赖于Spring3.1.x的版本,因为SpringSecurity3.1.x的版本是在Spring3.1之前发布的。春天s的计划是在后续版本中让双方版本号更接近。更多详情,请见本JIRA。我们将在后面看看这种情况对我们的实际影响。

第二,spring-security-web

为了给SpringSecurity添加Web支持,您需要引入spring-security-web依赖:

ltdependencygt

ltartifactIdgtspring-security-weblt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依赖性gt

这个项目为Servlet环境的URL访问控制引入了相关的基本安全组件和过滤器。

第三,SpringSecurity和老版本SpringCore之间的依赖性。

如上所述,这种新的依赖产生了Maven依赖问题,SpringSecurity的相关jar并不依赖于Springcore的最新jar(而是以前的版本)。这可能会使相关的Springcore相关包在被配置到类路径之前位于最新的Spring4.x相关包之前。

这是怎么发生的?我们需要了解Maven处理版本的机制,Maven会选择最接近依赖树根的版本。在前一个例子中,spriNg-orm依赖于spring-core的4.x版本,而spring-security-core依赖于spring-core的3.2.8版本。所以spring-orm和sprint-security-web的定义顺序是个问题,第一个会有更高的优先级。最后,在我们的类路径中会有两个版本的spring-core。

为了避免这种问题,我们需要在pom文件中明确指定一些Spring依赖,而不是依赖Maven隐式依赖机制。我们将在pom的根文件中定义特定的依赖关系,这样这些依赖关系将具有更高的优先级。在下面的例子中,所有的Spring核心组件都将使用相同的版本来明确定义。对于多模块项目,需要在父配置文件的dependencyManagement属性中定义。

ltdependencygt

ltgroupIdgtorg.springframeworklt/groupIdgt

ltartifactIdgtspring-corelt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依赖性gt

ltdependencygt

ltgroupIdgtorg.springframeworklt/groupIdgt

ltartifactIdgtspring-contextlt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依赖性gt

ltdependencygt

ltgroupIdgtorg.springframeworklt/groupIdgt

ltartifactIdgtspring-jdbclt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依赖性gt

ltdependencygt

ltgroupIdgtorg.springframeworklt/groupIdgt

ltartifactIdgtspring-beanslt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依赖性gt

ltdependencygt

ltgroupIdgtorg.springframeworklt/groupIdgt

ltartifactIdgtspring-aoplt/artifactIdgtltversiongt${}lt/versiongt

lt/依赖性gt

ltdependencygt

ltgroupIdgtorg.springframeworklt/groupIdgt

ltartifactIdgtspring-txlt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依赖性gt

ltdependencygt

ltgroupIdgtorg.springframeworklt/groupIdgt

ltartifactIdgtspring-expressionlt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依赖性gt

ltdependencygt

ltgroupIdgtorg.springframeworklt/groupIdgt

ltartifactIdgtspring-weblt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依赖性gt

四。spring-security-config和其他

要使用SpringSecurityXML的丰富名称空间,您需要定义spring-security-config依赖关系:

ltdependencygt

ltartifactIdgtspring-security-configlt/artifactIdgt

ltversiongt${}lt/versiongt

ltscopegtruntimelt/scopegt

lt/依赖性gt

编译时没有代码需要依赖这个包,所以它的作用域应该定义为runtime。

最后,LDAP、ACL、CAS和OpenID支持需要添加自己的依赖包:Spring-Security-LDAP、Spring-Security-ACL、Spring-Security-CAS和spring-security-op

如何构建一个基于Maven的Java项目?

其实这种问题比在问答里问要有效的多。具体流程不详述,提几点注意事项。

Maven仓库Maven已安装。根据你自己的关系网,你d最好设置好中心仓的地址,可以选择国内一些相对较快的Maven镜像仓。

在工程建设网上找个Mavan的例子,越简单越好,把groupId和artifactId稍微改一下就行了。

如果使用IED,安装Maven插件,然后在新建项目时选择【新建Maven项目】,按照IDEs一步一步提示。(详细流程可搜索)

如果您使用Springboot,还有另一种方法非常简单:

进入网站:

默认情况下选择Mavenproject输入groupId和artifactId;选择需要的Spring相关框架,比如SpringMVC、Kafka;点击Generate按钮,生成一个基于Maven的项目。

Maven命令执行Maven命令,可以在IDE中执行;您还可以配置环境变量,然后在命令提示符下,点击Maven命令来执行。我习惯后者,因为大部分项目开发的时候都会有不同的版本,比如开发版,测试版,生产版。

我们开发的时候用的是开发版,会引入IDE。如果开发完成,开发的内容将通过版本控制工具合并到测试版本中。此时,测试版本的代码不需要引入到IDE中。代码合并后,可以通过maven-cleanpackage直接打包测试版本。

希望我的回答能帮到你!

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
合作伙伴
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  冀ICP备2023006999号-8