Maven學(xué)習(xí)----Maven安裝與環(huán)境變量配置教程
一、Maven簡介
1. 什么是Maven
Maven:是Apache提供的免費開源的項目管理工具。它提供了一個項目對象模型(pom.xml)、一個依賴管理系統(tǒng)(根據(jù)坐標(biāo),幫我們引入依賴)、一套項目生命周期(幫我們方便的進行項目構(gòu)建)、一組標(biāo)準(zhǔn)集合(Maven工程的目錄結(jié)構(gòu)規(guī)范,坐標(biāo)規(guī)范)、和一個插件管理系統(tǒng)(提供了進行項目構(gòu)建的命令)。
2. Maven的作用
- 項目構(gòu)建:一個項目開發(fā)之后,經(jīng)歷的編譯、測試、打包、安裝、部署等等一系列的過程,叫項目構(gòu)建
- 主要是測試、運維/實施人員使用的
- 依賴管理:Maven可以幫我們管理jar包,可以輕松的解決依賴的沖突問題
- 依賴:通常指jar包,不僅僅是jar包
- 模塊化創(chuàng)建項目
3. 坐標(biāo)的概念
- 坐標(biāo):被Maven管理的每個項目,都必須有自己的唯一標(biāo)識,這個唯一標(biāo)識叫坐標(biāo)坐
- 標(biāo)的組成:由三部分組成
- groupId:公司名、組織名 域名倒寫。比如:
c3p0,com.jd - artifactId:項目名、包名。比如:
c3p0 - version:版本號。比如:
0.9.1.2,1.0-SNAPSHOT,5.2.0-RELEASE
- groupId:公司名、組織名 域名倒寫。比如:
小結(jié)
- 什么是Maven:是Apache提供的一個開源免費的項目管理工具
- Maven的作用:
- 項目構(gòu)建:編譯、測試、打包、安裝、部署等等一系列的過程,叫項目構(gòu)建
- 依賴管理:幫我們管理jar包依賴
- 模塊化創(chuàng)建項目
- 坐標(biāo)的概念:
- 被Maven管理的每個項目/jar包,其唯一標(biāo)識叫坐標(biāo)
- 由三部分組成:
- groupId:企業(yè)名/組織名 域名倒寫
- artifactId:包名/項目名
- version:版本號
二、Maven安裝配置【操作】
1. Maven的倉庫類型
1.本地倉庫:本地緩存jar包的文件夾
- 本地倉庫默認(rèn)在:C:\Users\電腦的用戶名\.m2\repository
- 通常會修改配置文件,修改本地倉庫的路徑
2.遠程倉庫(私服):一些企業(yè)、組織、社區(qū)搭建的倉庫服務(wù)
- 通常企業(yè)里人自己搭建私服。私服里的jar包大多數(shù)還是來自于中央倉庫
- 有些是企業(yè)內(nèi)部自己搭建、自己使用的
- 有些是企業(yè)搭建面向整個互聯(lián)網(wǎng)的,比如:阿里私服
3.中央倉庫
- 是Maven官方團隊維護的倉庫,里邊有最全的jar包。
- 但是沒有授權(quán)的jar包,中央倉庫里沒有,比如:Oracle驅(qū)動包
- 地址:https://repo1.maven.org/maven2
2. 下載與目錄結(jié)構(gòu)
- 下載地址:http://maven.apache.org
- Maven的目錄結(jié)構(gòu):
maven |--bin Maven的可執(zhí)行命令文件夾 |--boot Maven的引導(dǎo)程序(類加載器) |--conf 配置文件夾 |--lib Maven的核心程序代碼
3. Maven安裝配置
3.1 安裝Maven
1.Maven是免安裝的,直接解壓
- 注意:解壓路徑里,不要有中文、空格、特殊字符
2.注意檢查JDK環(huán)境變量是否正確
- Maven軟件是Java語言編寫的
3.配置Maven環(huán)境變量:
- 增加MAVEN_HOME=Maven的解壓目錄
- 修改Path中添加 %MAVEN_HOME%\bin


1.驗證Maven配置
- 打開cmd,輸入命令:mvn -version

3.2 配置Maven倉庫
配置步驟:
- 新建一個目錄,例如 :repository,目錄里不能有中文、空格、特殊字符
- 比如我的路徑為:D:\develop_software\maven\repository
- 修改Maven的conf\settings.xml配置文件

擴展:
- 修改settings.xml里,設(shè)置Maven編譯的版本jdk1.8。在<profiles>里邊增加:
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>

小結(jié)
倉庫類型
- 本地倉庫:自己電腦上緩存jar包的文件夾
- 遠程倉庫(私服):一些企業(yè)、社區(qū)、組織自己搭建的倉庫服務(wù)
- 中央倉庫:Maven官方團隊維護倉庫服務(wù)
maven的安裝:
- 解壓。注意:解壓的目錄里不要有中文、空格、特殊字符
- 配置環(huán)境變量:
- 新增MAVEN_HOME, 值就是maven軟件的解壓目錄
- 修改Path,值里新增%MAVEN_HOME%\bin
配置本地倉庫:
- 創(chuàng)建repository目錄里不要有中文、空格 、特殊字符
- 修改Maven的conf\settings.xml,增加本地倉庫的配置:<localRepository>標(biāo)簽
三、Maven項目的目錄結(jié)構(gòu)
一個項目要想使用Maven進行管理,那么這個項目的目錄結(jié)構(gòu)就必須要符合Maven的要求:
maven項目 |--pom.xml 項目對象模型文件,一個Maven項目必定有pom.xml文件 |--src |--main 項目的主體程序代碼目錄 | |--java 項目的Java程序代碼放在這文件夾里 | |--resources 項目的配置文件放在這里 | |--webapp 項目的web資源放在這里,html,css,js,jsp,音頻,圖片,視頻等等 | |--WEB-INF | |--其它web資源 |--test 項目的單元測試代碼目錄 |--java 項目的單元測試代碼 |--resources 項目單元測試需要的配置文件
小結(jié)
src\main\java:放主體程序代碼的java文件
src\main\resources:放主體程序代碼的配置文件
src\main\webapp:放主體程序代碼的web資源:html、css、js、jsp等等
四、Maven構(gòu)建項目
1. 項目構(gòu)建的生命周期
Maven命令執(zhí)行的規(guī)律:
clean: clean compile: compile test: compile=>test package: compile=>test=>package install: compile=>test=>package=>install 人的生命周期:嬰兒=>兒童=>少年=>青年=>中年=>老年
Maven有三套生命周期
- 清理生命周期:CleanLifeCycle
- 有常用命令:
clean
- 有常用命令:
- 默認(rèn)生命周期(構(gòu)建生命周期):DefaultLifeCycle
- 有常用命令:
compile->test->package->install->deploy
- 有常用命令:
- 站點生命周期:SiteLifeCycle
- 有常用命令:
site。生成Maven項目的描述信息文檔
- 有常用命令:
- 如果執(zhí)行了一個目標(biāo)命令:Maven會把生命周期里的命令,從第一個一直執(zhí)行到目標(biāo)命令為止
小結(jié)
常用命令:
mvn clean:清理。刪除掉target目錄mvn compile:編譯。把主體程序代碼進行編譯,放到target目錄里mvn test:測試。編譯并執(zhí)行單元測試代碼mvn package:打包。Java項目打成jar包,web項目打包war包mvn install:安裝。把程序包安裝到本地倉庫,安裝位置是坐標(biāo)對應(yīng)的文件夾
Maven的生命周期
- 清理生命周期CleanLifeCycle:
clean - 默認(rèn)生命周期/構(gòu)建生命周期DefaultLifeCycle:
compile=>test=>package=>install=>deploy - 站點生命周期SiteLifeCycle:
site - 生命周期的作用:只要執(zhí)行一個目標(biāo)命令,Maven會從生命周期里第一個階段開始,執(zhí)行到目標(biāo)命令為止
五、Maven管理依賴和插件
Maven的依賴管理
- 把Maven配置到idea中
- 在idea里創(chuàng)建Maven的java項目
- 在idea里創(chuàng)建Maven的web項目
- Maven項目中,引入依賴的方法
- Maven的依賴范圍配置,解決jar包沖突
1. 在idea配置Maven(操作)
- 配置Maven

- 增加運行的配置項:-
DarchetypeCatalog=internal

2. 在idea創(chuàng)建Maven項目
2.1 創(chuàng)建Maven的java項目
1.創(chuàng)建Module,選擇Maven類型,選擇骨架org.apache.maven.archetypes:maven-archetype-quickstart

2.設(shè)置項目的坐標(biāo)

3.再繼續(xù)步驟,跟以前的一樣:設(shè)置module的名稱和位置
注意:不要和已有的其它module重名或者重位置

4.創(chuàng)建后,如果彈窗Maven projects need to be imported,就選擇 啟動自動導(dǎo)入。
作用是:如果pom.xml文件有變更,Maven會自動讀取,立即生效;否則就要手動導(dǎo)入

5.如果文件夾缺失,就創(chuàng)建補全,然后刷新

2.2 創(chuàng)建Maven的web項目
1.選擇項目的骨架

2.設(shè)置項目的坐標(biāo)
如果上邊Add as module to和Parent是有配置的,那么要在右邊全部選擇none


3. 引入依賴
如果項目中需要使用jar包,只需要把jar包的坐標(biāo)配置到項目的pom.xml中即可。在pom.xml的<dependencies>標(biāo)簽里增加以下內(nèi)容:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>依賴范圍</scope>
</dependency>
可以在pom.xml里,輸入
dep,會自動補充坐標(biāo)模板,我們填充坐標(biāo)值即可可以使用
alt+insert,會彈出依賴導(dǎo)入的界面,可以從本地倉庫里搜索依賴如果不知道依賴的坐標(biāo),可以從中央倉庫搜索坐標(biāo):https://mvnrepository.com/
4. 依賴范圍
如果項目中引入的jar包過多,可能會出現(xiàn)jar包沖突,我們可能設(shè)置jar包不同的依賴范圍來處理jar包沖突。
Maven的依賴范圍有:
compile:默認(rèn)的依賴范圍,全范圍有效。test:單元測試有效。src/test里有效,src/main里無效provided:編譯時有效,運行時使用其它地方提供的jar包。runtime:運行時有效,編譯時無效。比如:數(shù)據(jù)庫驅(qū)動包system:引入倉庫之外的本地jar包。少用

實際開發(fā)中特殊的jar包
Junit:依賴范圍通常設(shè)置為testservlet-api, jsp-api:依賴范圍通常設(shè)置為provided數(shù)據(jù)庫驅(qū)動包:依賴范圍可以是默認(rèn)的,也可以是runtime- 其它包,絕大多數(shù)都是默認(rèn)依賴范圍c
ompile
小結(jié)
依賴范圍:
- compile:默認(rèn)的。編譯時有效,運行時有效,單元測試有效
- test:單元測試有效(src\main\test)里有效
- 單元測試Junit的包
- provided:編譯時有效,運行時無效(備胎包)
- servlet-api,jsp-api
- runtime:編譯時無效,運行時有效
- 數(shù)據(jù)庫驅(qū)動包
- system:引用倉庫之外的本地jar包,少用
Maven的插件
- maven插件可以完成一些特定的功能。例如,集成jdk插件可以方便的修改項目的編譯環(huán)境;集成tomcat插件后,無需安裝tomcat服務(wù)器就可以運行tomcat進行項目的發(fā)布與測試。
- 在pom.xml的
plugins標(biāo)簽中,通過plugin標(biāo)簽引入maven的功能插件。
jdk編譯版本插件
- 把
<plugins>標(biāo)簽,放在pom.xml的<build>標(biāo)簽內(nèi)部
<!--jdk編譯插件-->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
</plugins>
tomcat7插件
- 把
<plugins>標(biāo)簽,放在pom.xml的<build>標(biāo)簽內(nèi)部
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<!-- 指定端口 -->
<port>82</port>
<!-- 項目路徑 -->
<path>/</path>
</configuration>
</plugin>
</plugins>
六、Maven的私服
搭建私服
- 了解私服的概念
- 搭建私服
講解
什么是Maven的私服
- 公司在自己的局域網(wǎng)內(nèi)搭建自己的遠程倉庫服務(wù)器,稱為私服
- 私服服務(wù)器即是公司內(nèi)部的 maven 遠程倉庫, 每個員工的電腦上安裝 maven 軟件并且連接私服服務(wù)器,員工將自己開發(fā)的項目打成 jar 并發(fā)布到私服服務(wù)器,其它項目組從私服服務(wù)器下載所依賴的構(gòu)件(jar)。
- 私服還充當(dāng)一個代理服務(wù)器,當(dāng)私服上沒有 jar 包會從互聯(lián)網(wǎng)中央倉庫自動下載,如下圖 :

搭建Maven私服
1. 下載nexus
- Nexus 是 Maven 倉庫管理器, 通過 nexus 可以搭建 maven 倉庫,同時 nexus 還提供強大的倉庫管理功能,構(gòu)件搜索功能等。
- 下載地址: http://www.sonatype.org/nexus/archived/ ,下載: nexus-2.12.0-01-bundle.zip

2. 安裝nexus
1.解壓nexus-2.12.0-01-bundle.zip。注意:解壓路徑里不要有中文、空格、特殊字符
2.以管理員方式打開cmd,切換進入解壓目錄的bin文件夾里,運行命令:nexus.bat install
- 把nexus安裝成為Windows的服務(wù)

3. 啟動nexus
- 啟動nexus服務(wù):以管理員方式打開cmd,輸入命令:net start nexus(第一次啟動比較慢)
- 如果把nexus服務(wù)設(shè)置為開機自啟動,以后就不需要再手動啟動nexus服務(wù)了
- 但是通常是nexus服務(wù)器上設(shè)置。我們自己電腦上,沒有必要設(shè)置開機自啟動
- 關(guān)閉nexus服務(wù):以管理員方式打開cmd,輸入命令:net stop nexus
4. 登錄nexus
打開瀏覽器,輸入地址:http://localhost:8081/nexus
- 可以打開nexus的
conf/nexus.properties文件,修改端口號,重啟nexus服務(wù)后生效

登錄“Log in”,輸入帳號和密碼進行登錄(帳號admin,密碼admin123)

nexus的倉庫類型介紹

hosted:宿主倉庫, 部署自己的 jar 到這個類型的倉庫,包括 releases 和 snapshot 兩部分, Releases 公司內(nèi)部發(fā)布版本倉庫、 Snapshots 公司內(nèi)部測試版本倉庫proxy:代理倉庫, 用于代理遠程的公共倉庫,如 maven 中央倉庫,用戶連接私服,私服自動去中央倉庫下載 jar 包或者插件。group:倉庫組,用來合并多個 hosted/proxy 倉庫,通常我們配置自己的 maven 連接倉庫組。virtual:虛擬倉庫,兼容 Maven1 版本的 jar 或者插件
小結(jié)
- hosted:宿主倉庫。nexus私服本身的倉庫
- proxy:代理倉庫。私服所代理的倉庫
- group:倉庫組。針對于使用者,只要配置一個倉庫組的地址,就可以引用組里定義的所有子庫
- virtual:虛擬倉庫
使用私服
- 把項目發(fā)布到私服
- 從私服下載jar包
把項目發(fā)布到私服
使用場景
- 企業(yè)中多個團隊協(xié)作開發(fā)通常會將一些公用的組件、開發(fā)模塊等發(fā)布到私服供其它團隊或模塊開發(fā)人員使用。
- 本例子假設(shè)多團隊分別開發(fā)。某個團隊開發(fā)完在common_utils, 將 common_utils發(fā)布到私服供其它團隊使用
配置
第一步:在用戶自己的Maven軟件里修改conf/settings.xml:
- 在
servers標(biāo)簽里,配置私服的帳號和密碼
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
第二步:在用戶需要發(fā)布的私服的項目pom.xml里,配置私服倉庫的地址。
- 本公司的自己的 jar 包會上傳到私服的宿主倉庫,根據(jù)工程的版本號決定上傳到哪個宿主倉庫
- 如果版本為 release 則上傳到私服的 release 倉庫,如果版本為snapshot 則上傳到私服的 snapshot 倉庫
- 把以下內(nèi)容寫到項目的pom.xml的根標(biāo)簽里
<distributionManagement>
<repository>
<!-- 注意:id的值,是剛剛在settings.xml中配置的server的id -->
<id>releases</id>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<!-- 注意:id的值,是剛剛在settings.xml中配置的server的id -->
<id>snapshots</id>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
測試
1.啟動nexus服務(wù)(如果已啟動,就不需要做這一步)
2.在項目里執(zhí)行Maven的deploy命令:
- 根據(jù)本項目pom.xml中version定義決定發(fā)布到哪個倉庫
- 如果version定義為xx-snapshot,項目將發(fā)布到 nexus 的 snapshot倉庫
- 如果version定義為xx-release,項目將發(fā)布到 nexus的 release 倉庫
從私服下載jar包
使用場景
- 沒有配置 nexus的時候,如果本地倉庫沒有,就會去中央倉庫下載,下載速度不穩(wěn)定
- 通常在企業(yè)中會在局域網(wǎng)內(nèi)部署一臺私服服務(wù)器。這樣:
- 本地項目首先去本地倉庫找 jar;
- 如果沒有找到則連接私服從私服下載 jar 包;
- 如果私服沒有 jar 包,私服同時作為代理服務(wù)器從中央倉庫下載 jar 包
好處是:
- 由私服對公司項目的依賴 jar 包統(tǒng)一管理
- 可以提高下載速度, 項目連接私服下載 jar 包的速度,要比項目連接中央倉庫的速度快的多。
配置
第一步:在settings.xml的profiles標(biāo)簽下配置:
注:由于settings.xml中沒有repositories標(biāo)簽,所以要使用profile標(biāo)簽來配置倉庫
<profile>
<!--profile 的 id-->
<id>dev</id>
<repositories>
<repository>
<!--倉庫 id, repositories 可以配置多個倉庫,保證 id 不重復(fù)-->
<id>nexus</id>
<!--倉庫地址,即 nexus 倉庫組的地址-->
<url>http://localhost:8081/nexus/content/groups/public/</url>
<!--是否下載 releases 構(gòu)件-->
<releases>
<enabled>true</enabled>
</releases>
<!--是否下載 snapshots 構(gòu)件-->
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<!-- 插件倉庫, maven 的運行依賴插件,也需要從私服下載插件 -->
<pluginRepository>
<!-- 插件倉庫的 id 不允許重復(fù),如果重復(fù)后邊配置會覆蓋前邊 -->
<id>public</id>
<name>Public Repositories</name>
<url>http://localhost:8081/nexus/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
第二步:激活profile定義的倉庫
激活后,配置的倉庫才會生效
<activeProfiles> <activeProfile>dev</activeProfile> </activeProfiles>
測試 創(chuàng)建Maven應(yīng)用testdownload,配置依賴
<dependency>
<groupId>com.baidu</groupId>
<artifactId>commons-utils</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
編譯項目,查看日志會出現(xiàn):

查看本地倉庫里,會有從私服下載的jar包
小結(jié)
把項目發(fā)布到私服:
- 在Maven的settings.xml里,配置倉庫的帳號和密碼
- 在Maven項目的pom.xml里,配置倉庫的地址
- 執(zhí)行Maven命令:mvn deploy
從私服里下載jar:
- 在settings.xml里配置倉庫地址
- 在settings.xml里激活倉庫的配置
- 在Maven項目里,配置依賴
- 如果這個依賴,在本地倉庫里沒有,Maven就會從私服里下載到本地倉庫,再引入到Maven項目里
上傳jar到本地倉庫和私服
目標(biāo)
- 把第三方j(luò)ar打包到本地倉庫
- 把jar打包發(fā)布到私服
把第三方j(luò)ar打包到本地倉庫
- 如果有一個jar不在本地倉庫、不在私服、不在中央倉庫。我們可以把jar安裝到本地倉庫中,方便后續(xù)使用
cmd命令示例:
mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dfile=fastjson-1.1.37.jar -Dpackaging=jar

- 查看本地倉庫,驗證是否安裝成功

把第三方j(luò)ar打包發(fā)布到私服
- 第一步:在
settings.xml中配置私服的server信息
<server>
<id>thirdparty</id>
<username>admin</username>
<password>admin123</password>
</server>
- 第二步:執(zhí)行命令
mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=fastjson-1.1.37.jar -Durl=http://localhost:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty

- 第三步:查看私服的第三方倉庫,驗證是否發(fā)布成功

參數(shù)說明
DgroupId和DartifactId構(gòu)成了 jar 包的坐標(biāo),項目就是依靠這兩個屬性定位??梢宰约浩鹈?/li>Dfile表示需要上傳的 jar 包的位置。Durl私服上倉庫的位置,打開 nexus——>repositories 菜單,可以看到該路徑。DrepositoryId服務(wù)器的表示 id,在 nexus 的 configuration 可以看到。Dversion表示版本信息。
上傳成功后,在 nexus 界面點擊 3rd party 倉庫可以看到這包。
七、Lombok
1. Lombok介紹與配置
- 什么是Lombok
- Lombok的作用
- Lombok的配置
什么是Lombok
- Lombok是一個Java庫,能自動插入編輯器并構(gòu)建工具,簡化Java開發(fā)。
- 官網(wǎng): https://www.projectlombok.org/
Lombok的作用
通過添加注解的方式,幫我們生成一些方法,提高開發(fā)人員的開發(fā)效率。
例如:
- 開發(fā)中經(jīng)常需要寫的javabean,要添加相應(yīng)的getter/setter,也許還要去寫構(gòu)造器、equals等方法
- 當(dāng)屬性多時,會出現(xiàn)大量的getter/setter方法,這些顯得很冗長也沒有太多技術(shù)含量
- 使用Lombok,可以幫我們生成這些方法,我們就不用自己編寫了
Lombok的配置
- 添加maven依賴
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>
安裝插件
- 注意:Lombok插件暫不支持idea2020
- 使用Lombok還需要插件的配合。
- 打開idea的設(shè)置,點擊Plugins,點擊Browse repositories,在彈出的窗口中搜索lombok,然后安裝即可

- 解決編譯時出錯問題
編譯時出錯,可能是沒有enable注解處理器。Annotation Processors > Enable annotation processing。設(shè)置完成之后程序正常運行。

2. Lombok的常用注解
目標(biāo)
@Data
@Getter/@Setter
@ToString
@NoArgsConstructor, @AllArgsConstructor
@Data
- @Data注解在類上,會為類的所有屬性自動生成setter/getter、equals、canEqual、hashCode、toString方法,如為final屬性,則不會為該屬性生成setter方法。
@Data
public class User implements Serializable{
private Integer id;
private String username;
private String password;
private String address;
private String nickname;
private String gender;
private String email;
private String status;
}
@Getter/@Setter
- 如果覺得@Data不夠精細,可以使用@Getter/@Setter注解
- 此注解用在屬性上,可以為相應(yīng)的屬性自動生成Getter/Setter方法.
public class User implements Serializable{
@Setter
@Getter
private Integer id;
private String username;
private String password;
private String address;
private String nickname;
private String gender;
private String email;
private String status;
}
@ToString
- 類上使用@ToString注解,Lombok會生成一個
toString()方法 - 生成的
toString方法會輸出類名、所有屬性(會按照屬性定義順序),用逗號來分割。 - 通過
exclude屬性指定忽略字段不輸出,
@ToString(exclude = {"id"})
public class User implements Serializable{
private Integer id;
private String username;
private String password;
private String address;
private String nickname;
private String gender;
private String email;
private String status;
}
@xxxConstructor
@NoArgsConstructor: 無參構(gòu)造器
@NoArgsConstructor
public class User implements Serializable{
private Integer id;
private String username;
private String password;
private String address;
private String nickname;
private String gender;
private String email;
private String status;
}
@AllArgsConstructor: 全參構(gòu)造器
@AllArgsConstructor
public class User implements Serializable{
private Integer id;
private String username;
private String password;
private String address;
private String nickname;
private String gender;
private String email;
private String status;
}
附:添加依賴出錯怎么辦
現(xiàn)象:
- 在pom.xml里添加依賴坐標(biāo)后,報紅,引入依賴失敗
原因:
- 可能有多方面因素導(dǎo)致,最常見的原因是:
- 網(wǎng)絡(luò)不穩(wěn)定,導(dǎo)致從中央倉庫中下載依賴時失敗
- 本地倉庫中有大量的
*.lastUpdated文件,是下載依賴出錯后遺留的不完整數(shù)據(jù)
解決:
第一步:配置阿里云的倉庫鏡像
打開Maven軟件里conf/settings.xml
在<mirrors>標(biāo)簽中添加如下內(nèi)容:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
第二步:刪除本地倉庫里的緩存文件
- 以
.lastUpdated結(jié)尾的文件,是下載依賴失敗后遺留的文件,需要清除掉
1.在本地倉庫文件夾里搜索*.lastUpdated

2.把搜索到的所有文件全部刪除

第三步:重新添加依賴
- 在
pom.xml中,刪除原有的所有依賴 - 重新添加依賴進去。
- Maven會自動重新導(dǎo)入依賴,如果本地倉庫中沒有,就會自動從阿里云倉庫鏡像下載依賴
總結(jié)
本篇文章就到這里了,希望可以幫到你,也希望您能多多關(guān)注腳本之家的更多內(nèi)容!
- Maven2環(huán)境安裝與準(zhǔn)備工作詳解
- maven安裝與環(huán)境配置圖文教程
- WIN10環(huán)境 Maven的安裝與配置詳細教程
- 淺談Maven安裝及環(huán)境配置出錯的解決辦法
- Java(JDK/Tomcat/Maven)運行環(huán)境配置及工具(idea/eclipse)安裝詳細教程
- 關(guān)于maven環(huán)境的安裝及maven集成idea環(huán)境的問題
- Maven環(huán)境安裝配置和新建項目介紹
- Windows安裝Maven并配置環(huán)境的詳細步驟
- Windows安裝Maven并配置環(huán)境變量
- Maven的安裝和環(huán)境變量配置過程
- Maven3.9.9環(huán)境安裝配置的實現(xiàn)步驟
相關(guān)文章
Spring Cache優(yōu)化數(shù)據(jù)庫訪問的項目實踐
本文主要介紹了Spring Cache優(yōu)化數(shù)據(jù)庫訪問的項目實踐,將創(chuàng)建一個簡單的圖書管理應(yīng)用作為示例,并演示如何通過緩存減少對數(shù)據(jù)庫的頻繁查詢,感興趣的可以了解一下2024-01-01

