减小代码量工具-lombokjava
lombok的做用:消除模版代码web
案例使用介绍:ide
1.添加pom.xml依赖:函数
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.8</version> <scope>provided</scope> </dependency>
2. 写一个基础类:工具
@Data @Builder public class Address { private int id; private String province; private String city; private String country; }
这里须要说明一下,在传统的Java开发中咱们须要重写getter(),setter(),equals(),toString()等方法在这里只须要定义注解便可:测试
因此在上面的例子中我只须要定义两个注解便可省略大量的getter(),setter()等方法ui
以前咱们的代码是这个样子的this
package com.fastweb.web.model; import lombok.Builder; import lombok.Data; import lombok.extern.log4j.Log4j; public class Address { private int id; private String province; private String city; private String country; public Address(int id, String province, String city, String country) { this.id = id; this.province = province; this.city = city; this.country = country; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getCountry() { return country; } public void setCountry(String country) { this.country = country; } @Override public String toString() { return "Address{" + "id=" + id + ", province='" + province + '\'' + ", city='" + city + '\'' + ", country='" + country + '\'' + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Address address = (Address) o; if (id != address.id) return false; if (province != null ? !province.equals(address.province) : address.province != null) return false; if (city != null ? !city.equals(address.city) : address.city != null) return false; return country != null ? country.equals(address.country) : address.country == null; } @Override public int hashCode() { int result = id; result = 31 * result + (province != null ? province.hashCode() : 0); result = 31 * result + (city != null ? city.hashCode() : 0); result = 31 * result + (country != null ? country.hashCode() : 0); return result; } }
是否是很繁琐code
lombok测试例子:xml
package com.fastweb.web.model; import lombok.extern.java.Log; import static org.junit.Assert.*; @Log public class AddressTest { public static void main(String[] args) { Address address = Address.builder().id(1001).city("wuhan").province("hubei").country("china").build(); log.info(address.toString()); } }
这里只需定义@Log注解便可完成log的使用 很是方便 不再须要去定义额外的变量
最后贴一下lombok的使用说明 https://projectlombok.org/features/