在以往的對象模型編碼時,我們需要寫一大堆的get/set以及不同的構造函數等。Lombok為我們提供了一個非常好的插件形式。
在大多數的項目中,只需要使用到以下集中Annotation就足夠了,如果需要查看更多的選項,請參考:傳送門
@Getter
@Setter
@ToString
@RequiredArgsConstructor
生成final 字段的構造函數
/**
* java class
*/
@RequiredArgsConstructor
class UserVO {
private final Integer id;
private final String name;
private int age;
}
/**
* 編譯后生成的代碼
*/
class UserVO {
private final Integer id;
private final String name;
private int age;
public UserVO(Integer id, String name) {
this.id = id;
this.name = name;
}
}
@Data
組合注解
/**
* @see Getter
* @see Setter
* @see RequiredArgsConstructor
* @see ToString
* @see EqualsAndHashCode
* @see lombok.Value
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface Data {
/**
* ...
*/
String staticConstructor() default "";
}
@Builder
改變原有賦值模式
![[Java 開發利器Lombok] 常用注解演示](https://cache.yisu.com/upload/information/20200311/58/228581.jpg)
![[Java 開發利器Lombok] 常用注解演示](https://cache.yisu.com/upload/information/20200311/58/228582.jpg)
@Slf4j public static final Logger LOGGER =
LoggerFactory.getLogger(UserCenterApplication.class);
/**
* This annotation is valid for classes and enumerations.<br>
* @see <a >org.slf4j.Logger</a>
* @see <a >org.slf4j.LoggerFactory#getLogger(java.lang.Class)</a>
* @see lombok.extern.apachecommons.CommonsLog @CommonsLog
* @see lombok.extern.java.Log @Log
* @see lombok.extern.log4j.Log4j @Log4j
* @see lombok.extern.log4j.Log4j2 @Log4j2
* @see lombok.extern.slf4j.XSlf4j @XSlf4j
* @see lombok.extern.jbosslog.JBossLog @JBossLog
* @see lombok.extern.flogger.Flogger @Flogger
*/
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface Slf4j {
/** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */
String topic() default "";
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。