常用注解

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:\test
      # 设置日志输出那个目录下MyTest.log,上面设置的格式化没用
      file:  C:\test\MyTest.log
      level:
        com.sell.LoggerTest: debug  #设置LoggerTest类输出 debug以上的日志
    

    @ApiModelProperty()

    @ApiModelProperty():用于方法,字段; 表示对model属性的说明或者数据操作更改
    value–字段说明
    name–重写属性名字
    dataType–重写属性类型
    required–是否必填
    example–举例说明
    hidden–隐藏

@Order

@Order:注解主要用来控制配置类的加载顺序

posted @ 2021-02-04 16:45  初出茅庐小菜鸡  阅读(434)  评论(0编辑  收藏  举报