在以往的对象模型编码时,我们需要写一大堆的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
改变原有赋值模式
@Slf4j
public static final Logger LOGGER =
LoggerFactory.getLogger(UserCenterApplication.class);
/**
* This annotation is valid for classes and enumerations.<br>
* @see <a href="https://www.slf4j.org/api/org/slf4j/Logger.html">org.slf4j.Logger</a>
* @see <a href="https://www.slf4j.org/api/org/slf4j/LoggerFactory.html#getLogger(java.lang.Class)">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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。