编写java程序推荐一个好的定义log的方式——lombok
2016-03-10 14:12
465 查看
一般情况下我们使用log4j或者slf4j定义一个log会这样写:private static final Logger log = Logger.getLogger(getClass());
今天在开源社区看到一种写法更为简洁
在class上引入注解@Slf4j即可直接使用.
如:
这个就很方便了.
那其实@Slf4j这个注解来自于lombok这个包,
仔细研究发现这个包还提供另外一些非常实用,可以大大简化代码的注解
比如 :
@Data :注解在类上;提供类所有属性的
getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在属性上;为属性提供
setting 方法
@Getter:注解在属性上;为属性提供
getting 方法
@Log4j :注解在类上;为类提供一个
属性名为log 的 log4j 日志对象
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
……
更多用法可以参考官方文档 https://projectlombok.org/features/index.html
这是Maven仓库地址:http://mvnrepository.com/artifact/org.projectlombok/lombok
官网主页上还有一个视频简介也演示的比较详细:https://projectlombok.org/
注:如果使用Idea,低版本可能不支持lombok,需要安装lombok插件,直接在Plugins里面搜索lombok安装就好
今天在开源社区看到一种写法更为简洁
在class上引入注解@Slf4j即可直接使用.
如:
@Slf4j public class SectionVO { public SectionVO() { log.info("I'm sectionVO : {}", toString()); } }反编译SectionVO.class发现自动生成了
private static final Logger log = LoggerFactory.getLogger(SectionVO.class);
这个就很方便了.
那其实@Slf4j这个注解来自于lombok这个包,
仔细研究发现这个包还提供另外一些非常实用,可以大大简化代码的注解
比如 :
@Data :注解在类上;提供类所有属性的
getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在属性上;为属性提供
setting 方法
@Getter:注解在属性上;为属性提供
getting 方法
@Log4j :注解在类上;为类提供一个
属性名为log 的 log4j 日志对象
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
……
更多用法可以参考官方文档 https://projectlombok.org/features/index.html
这是Maven仓库地址:http://mvnrepository.com/artifact/org.projectlombok/lombok
官网主页上还有一个视频简介也演示的比较详细:https://projectlombok.org/
注:如果使用Idea,低版本可能不支持lombok,需要安装lombok插件,直接在Plugins里面搜索lombok安装就好
相关文章推荐
- 联系人等拼音搜索算法与框架的心得
- java多线程下载
- leetcode 34. Search for a Range | Java最短代码实现
- [BAT][JAVA]定时任务之-Quartz使用篇
- Java抽象类与接口
- 使用maven命令创建java项目
- 2016蓝桥杯假期任务之《数字游戏》
- Java基础知识之集合框架(一)
- 做一个合格的程序猿之浅析Spring IoC源码(四)分析BeanPostProcessor(1)
- eclipse中的.project 和 .classpath文件的具体作用
- Java String 类型编码转换
- Lambda表达式应用浅析
- Java基础之多线程(二)
- java写入文件(文件内容末尾追加)
- Spring mvc 跳转
- Exception in thread java.lang.IllegalThreadStateException
- Spring MVC URL路径映射
- java.io.Serializable浅析
- java web基础 (path,class_path,java_home)
- Maven Profile标签