2021.01.19
Lombok插件下,@NoArgsConstructor、@AllArgsConstructor、@RequiredArgsConstructor的区别:
- @NoArgsConstructor:注解在类上,为类提供一个无参的构造方法。
当类中有 final 字段没有被初始化时,编译器会报错,此时可用 @NoArgsConstructor(force = true),然后就会为没有初始化的 final 字段设置默认值 0 / false / null。
对于具有约束的字段(例如 @NonNull 字段),不会生成检查或分配,因此请注意,正确初始化这些字段之前,这些约束无效。
-
@AllArgsConstructor:注解在类上,为类提供一个全参的构造方法。
-
@RequiredArgsConstructor:注解在类上,会生成构造方法(可能带参数也可能不带参数)。
如果带参数,这参数只能是以 final 修饰的未经初始化的字段或者是以 @NonNull 注解的未经初始化的字段。
@builder
lombok注解在java进行编译时进行代码的构建,对于java对象的创建工作它可以更优雅,不需要写多余的重复的代码,这对于JAVA开发人员是很重要的,在出现lombok之后,对象的创建工作更提供Builder方法,它提供在设计数据实体时,对外保持private setter,而对属性的赋值采用Builder的方式,这种方式最优雅,也更符合封装的原则,不对外公开属性的写操作!
@Builder声明实体,表示可以进行Builder方式初始化,@Value注解,表示只公开getter,对所有属性的setter都封闭,即private修饰,所以它不能和@Builder现起用
@Slf4j
如果不想每次都写private final Logger logger = LoggerFactory.getLogger(XXX.class); 可以用注解@Slf4j
一、在pom文件加入依赖
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
二、配置日志输出方式(application.yml)
logging: pattern: # d:日期时间 ; msg:打印信息;%n: 回车 console: "%d - %msg%n" # 设置日志输出那个目录, 默认spring.log ,上面设置的格式化没用 path: C: est # 设置日志输出那个目录下MyTest.log,上面设置的格式化没用 file: C: estMyTest.log level: com.sell.LoggerTest: debug #设置LoggerTest类输出 debug以上的日志
@ApiModelProperty()
@ApiModelProperty():用于方法,字段; 表示对model属性的说明或者数据操作更改
value–字段说明
name–重写属性名字
dataType–重写属性类型
required–是否必填
example–举例说明
hidden–隐藏
@Order
@Order:注解主要用来控制配置类的加载顺序