成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

如何用maven搭建項(xiàng)目 如何在Maven中配置Spring依賴?

如何在Maven中配置Spring依賴?一. spring-security-coreSpring Security的核心功能由spring-security-core包提供,包括認(rèn)證和訪問控制功能、

如何在Maven中配置Spring依賴?

一. spring-security-core

Spring Security的核心功能由spring-security-core包提供,包括認(rèn)證和訪問控制功能、對(duì)獨(dú)立應(yīng)用程序的支持、方法級(jí)安全性和JDBC支持。

ltpropertiesgt

lt/屬性gt

ltdependencygt

ltartifactIdgtspring-security-corelt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依賴性gt

注意:我們使用的是Spring Security的3.2.x版本——Spring和Spring Security的版本計(jì)劃不同,所以它們的版本號(hào)之間沒有一一對(duì)應(yīng)的關(guān)系。

如果項(xiàng)目使用的是Spring的老版本,需要注意的是Spring Security 3.1.x的版本并不依賴于Spring 3.1.x的版本,因?yàn)镾pring Security 3.1.x的版本是在Spring 3.1之前發(fā)布的。春天 s的計(jì)劃是在后續(xù)版本中讓雙方版本號(hào)更接近。更多詳情,請(qǐng)見本JIRA。我們將在后面看看這種情況對(duì)我們的實(shí)際影響。

第二,spring-security-web

為了給Spring Security添加Web支持,您需要引入spring-security-web依賴:

ltdependencygt

ltartifactIdgtspring-security-weblt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依賴性gt

這個(gè)項(xiàng)目為Servlet環(huán)境的URL訪問控制引入了相關(guān)的基本安全組件和過濾器。

第三,Spring Security和老版本Spring Core之間的依賴性。

如上所述,這種新的依賴產(chǎn)生了Maven依賴問題,Spring Security的相關(guān)jar并不依賴于Spring core的最新jar(而是以前的版本)。這可能會(huì)使相關(guān)的Spring core相關(guān)包在被配置到類路徑之前位于最新的Spring 4.x相關(guān)包之前。

這是怎么發(fā)生的?我們需要了解Maven處理版本的機(jī)制,Maven會(huì)選擇最接近依賴樹根的版本。在前一個(gè)例子中,spriNg-orm依賴于spring-core的4.x版本,而spring-security-core依賴于spring-core的3.2.8版本。所以spring-orm和sprint-security-web的定義順序是個(gè)問題,第一個(gè)會(huì)有更高的優(yōu)先級(jí)。最后,在我們的類路徑中會(huì)有兩個(gè)版本的spring-core。

為了避免這種問題,我們需要在pom文件中明確指定一些Spring依賴,而不是依賴Maven隱式依賴機(jī)制。我們將在pom的根文件中定義特定的依賴關(guān)系,這樣這些依賴關(guān)系將具有更高的優(yōu)先級(jí)。在下面的例子中,所有的Spring核心組件都將使用相同的版本來(lái)明確定義。對(duì)于多模塊項(xiàng)目,需要在父配置文件的dependencyManagement屬性中定義。

ltdependencygt

ltgroupIdgtorg.springframeworklt/groupIdgt

ltartifactIdgtspring-corelt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依賴性gt

ltdependencygt

ltgroupIdgtorg.springframeworklt/groupIdgt

ltartifactIdgtspring-context lt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依賴性gt

ltdependencygt

ltgroupIdgtorg.springframeworklt/groupIdgt

ltartifactIdgtspring-jdbclt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依賴性gt

ltdependencygt

ltgroupIdgtorg.springframeworklt/groupIdgt

ltartifactIdgtspring-beans lt/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-expression lt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依賴性gt

ltdependencygt

ltgroupIdgtorg.springframeworklt/groupIdgt

ltartifactIdgtspring-weblt/artifactIdgt

ltversiongt${}lt/versiongt

lt/依賴性gt

四。spring-security-config和其他

要使用Spring Security XML的豐富名稱空間,您需要定義spring-security-config依賴關(guān)系:

ltdependencygt

ltartifactIdgtspring-security-configlt/artifactIdgt

ltversiongt${}lt/versiongt

ltscopegtruntimelt/scopegt

lt/依賴性gt

編譯時(shí)沒有代碼需要依賴這個(gè)包,所以它的作用域應(yīng)該定義為runtime。

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

如何構(gòu)建一個(gè)基于Maven的Java項(xiàng)目?

其實(shí)這種問題比在問答里問要有效的多。具體流程不詳述,提幾點(diǎn)注意事項(xiàng)。

Maven倉(cāng)庫(kù)Maven已安裝。根據(jù)你自己的關(guān)系網(wǎng),你 d最好設(shè)置好中心倉(cāng)的地址,可以選擇國(guó)內(nèi)一些相對(duì)較快的Maven鏡像倉(cāng)。

在工程建設(shè)網(wǎng)上找個(gè)Mavan的例子,越簡(jiǎn)單越好,把groupId和artifactId稍微改一下就行了。

如果使用IED,安裝Maven插件,然后在新建項(xiàng)目時(shí)選擇【新建Maven項(xiàng)目】,按照IDE s一步一步提示。(詳細(xì)流程可搜索)

如果您使用Spring boot,還有另一種方法非常簡(jiǎn)單:

進(jìn)入網(wǎng)站:

默認(rèn)情況下選擇Mavenproject輸入groupId和artifactId;選擇需要的Spring相關(guān)框架,比如Spring MVC、Kafka;點(diǎn)擊Generate按鈕,生成一個(gè)基于Maven的項(xiàng)目。

Maven命令執(zhí)行Maven命令,可以在IDE中執(zhí)行;您還可以配置環(huán)境變量,然后在命令提示符下,點(diǎn)擊Maven命令來(lái)執(zhí)行。我習(xí)慣后者,因?yàn)榇蟛糠猪?xiàng)目開發(fā)的時(shí)候都會(huì)有不同的版本,比如開發(fā)版,測(cè)試版,生產(chǎn)版。

我們開發(fā)的時(shí)候用的是開發(fā)版,會(huì)引入IDE。如果開發(fā)完成,開發(fā)的內(nèi)容將通過版本控制工具合并到測(cè)試版本中。此時(shí),測(cè)試版本的代碼不需要引入到IDE中。代碼合并后,可以通過maven -clean package直接打包測(cè)試版本。

希望我的回答能幫到你!