Lombok & Slf4j Note [vaynexiao]

Lombok

Lombok的安装分两部分:Idea插件的安装和maven中pom文件的导入
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.10</version>
</dependency>
@Data最常用的注解之一。注解在类上,提供该类所有属性的getter/setter方法,还提供了equals、canEqual、hashCode、toString方法。
@Setter
作用于属性上,为该属性提供setter方法; 作用与类上,为该类所有的属性提供setter方法, 都提供默认构造方法。

public class Demo {
	private int id;
	@Setter
	private String remark;
}

@Setter
public class Demo {
	private int id;
	private String remark;
}


@Log4j
作用于类上,为该类提供一个属性名为log的log4j日志对象。

@Log4j
public class Demo {
}
该属性一般使用于Controller、Service等业务处理类上。与此注解相同的还有@Log4j2,顾名思义,针对Log4j2。

@AllArgsConstructor
作用于类上,为该类提供一个包含全部参的构造方法,注意此时默认构造方法不会提供。

@NoArgsConstructor
作用于类上,提供一个无参的构造方法。可以和@AllArgsConstructor同时使用,此时会生成两个构造方法:无参构造方法和全参构造方法。

@NonNull
作用于属性上,提供关于此参数的非空检查,如果参数为空,则抛出空指针异常。

使用方法:

public class Demo {
	@NonNull
	private int id;
	private String remark;
}

@ToString
作用于类上,生成包含所有参数的toString方法。见@Data中toString方法。

@Value
作用于类上,会生成全参数的构造方法、getter方法、equals、hashCode、toString方法。与@Data相比多了全参构造方法,少了默认构造方法、setter方法和canEqual方法。

该注解需要注意的是:会将字段添加上final修饰,个人感觉此处有些失控,不太建议使用。

Slf4j

	 <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.25</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.2.0</version>
            <scope>test</scope>
        </dependency>

很多篇教程都是复制,依赖不全,导致我总是运行不了。教程教程,就是给人学习的,你不能默认你的读者掌握了其他相关的东西。
好了,在pom中添加上面的所有依赖,很多教程里都只说添加lombok依赖就行了,其实不然。总共还需要slf4j以及它的实现,这里我选择了logback,其他的实现也是可以的。除此之外,还需要安装一个lombok插件,只针对IDEA,其他的IDE我不了解,也不知道具体需不需要这个插件。

如果不写下面这段代码,并且想用log就使用@Slf4j,是用作日志输出的,一般会在项目每个类的开头加入该注解,

private final Logger logger = LoggerFactory.getLogger(当前类名.class);

就是两种方式,二选一即可:

//@Slf4j
@Component
public class MinioUtil {
	// 用@Slf4j就可以直接
	// log.info("上传文件成功url :[{}], urlHost :[{}]", url, urlHost);
    private final Logger logger = LoggerFactory.getLogger(MinioUtil.class);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值