本文共 2465 字,大约阅读时间需要 8 分钟。
最近发现了一个非常好用的库,叫做,它可以帮助我们简化一些Java代码的编写。我试用了一下感觉非常好用,所以来介绍一下。
下面对Lombok的简单使用方法做一下总结:
常用的还有一个一些Log注解,Lombok已经对常用的日志都做了工作。这里直接引用官网的介绍:
@CommonsLog
Creates private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LogExample.class); @JBossLog Creates private static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LogExample.class); @Log Creates private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LogExample.class.getName()); @Log4j Creates private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LogExample.class); @Log4j2 Creates private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LogExample.class);
@Slf4j
Creates private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class); @XSlf4j Creates private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LogExample.class);说了这么多,我们来看看一个例子:
package yitian.bean;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import java.time.LocalDate;@Data@NoArgsConstructor@AllArgsConstructorpublic class User { private int id; private String username; private String password; private String nickname; private String address; private LocalDate birthday;}
可以看到,由于应用了@Data注解和两个构造方法注解,代码变得非常短小易读。即使使用IDE自动生成这些代码,一般也会生成超过100行的代码。可见Lombok的方便之处。
最后再来说说Lombok的原理吧。虽然Lombok也用到了注解,但是它并没有用到反射,而是通过一些奇技淫巧,在代码编译时期动态将注解替换为具体的代码。所以JVM实际运行的代码,和我们手动编写的包含了各种工具方法的类相同。另外我仅仅对Lombok做了一些简单介绍,在其上还有一些其他注解,并给出了更详细的说明和生成前后的代码例子。有兴趣的同学可以看看。
转载地址:http://nngum.baihongyu.com/