项目中经常使用bean
,entity
等类,绝大部分数据类类中都需要get
、set
、tostring
、equals
和hashcode
方法,虽然eclipse
和idea
开发环境下都有自动生成的快捷方式,但自动生成这些代码后,如果bean
中的属性一旦有修改、删除或增加时,需要重新生成或删除get/set
等方法,给代码维护增加负担。而使用了lombok
则不一样,使用了lombok
的注解(@setter,@getter,@tostring,@@requiredargsconstructor,@equalsandhashcode或@data)之后,就不需要编写或生成get/set
等方法,很大程度上减少了代码量,而且减少了代码维护的负担。故强烈建议项目中使用lombok
,去掉bean中get、set、tostring、equals和hashcode等方法的代码。
一、实战
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. 测试类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. 输出结果:
student(name=lance, age=27, male=man, studentno=2017)
true
false
lombok test
结果分析,如果没有添加@setter
注解,则lomboktest
中的student
示例无法使用setage()
等方法。使用lombok
之后,省去了许多没必要的get,set,tostring,equals,hashcode代码,简化了代码编写,减少了代码量。
另外@data
注解的作用相当于 @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());
|
看,简单吧!
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/zhglance/article/details/54931430