項(xiàng)目中經(jīng)常使用bean
,entity
等類,絕大部分?jǐn)?shù)據(jù)類類中都需要get
、set
、tostring
、equals
和hashcode
方法,雖然eclipse
和idea
開發(fā)環(huán)境下都有自動(dòng)生成的快捷方式,但自動(dòng)生成這些代碼后,如果bean
中的屬性一旦有修改、刪除或增加時(shí),需要重新生成或刪除get/set
等方法,給代碼維護(hù)增加負(fù)擔(dān)。而使用了lombok
則不一樣,使用了lombok
的注解(@setter,@getter,@tostring,@@requiredargsconstructor,@equalsandhashcode或@data)之后,就不需要編寫或生成get/set
等方法,很大程度上減少了代碼量,而且減少了代碼維護(hù)的負(fù)擔(dān)。故強(qiáng)烈建議項(xiàng)目中使用lombok
,去掉bean中g(shù)et、set、tostring、equals和hashcode等方法的代碼。
一、實(shí)戰(zhàn)
1.安裝lombok插件:
具體流程如圖:
1.1
1.2
1.3
2.添加lombok的maven的pom.xml依賴:
1
2
3
4
5
|
<dependency> <groupid>org.projectlombok</groupid> <artifactid>lombok</artifactid> <version> 1.16 . 10 </version> </dependency> |
3. 示例代碼student.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package com.lombok.demo; import lombok.equalsandhashcode; import lombok.getter; import lombok.setter; import lombok.tostring; /** **/ @setter @getter @tostring @equalsandhashcode public class student { private string name; private int age; private string male; private string studentno; } |
4. 測(cè)試類lomboktest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package com.lombok.demo; import lombok.extern.java.log; @log public class lomboktest { public static void main(string[] args) { student student = new student(); student.setage( 27 ); student.setmale( "man" ); student.setname( "lance" ); student.setstudentno( "2017" ); system.out.println(student.tostring()); student student2 = new student(); student2.setage( 27 ); student2.setmale( "man" ); student2.setname( "lance" ); student2.setstudentno( "2017" ); system.out.println(student.equals(student2)); student2.setstudentno( "2018" ); system.out.println(student.equals(student2)); log.info( "lombok test" ); } } |
5. 輸出結(jié)果:
student(name=lance, age=27, male=man, studentno=2017)
true
false
lombok test
結(jié)果分析,如果沒(méi)有添加@setter
注解,則lomboktest
中的student
示例無(wú)法使用setage()
等方法。使用lombok
之后,省去了許多沒(méi)必要的get,set,tostring,equals,hashcode代碼,簡(jiǎn)化了代碼編寫,減少了代碼量。
另外@data
注解的作用相當(dāng)于 @getter @setter @requiredargsconstructor @tostring @equalsandhashcode的合集。
另外@log
省去了在lomboktest
中添加 getlogger
的如下代碼:
1
|
private static final java.util.logging.logger log = java.util.logging.logger.getlogger(logexample. class .getname()); |
看,簡(jiǎn)單吧!
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)服務(wù)器之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
原文鏈接:https://blog.csdn.net/zhglance/article/details/54931430