• 常用注解


    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:注解主要用来控制配置类的加载顺序

  • 相关阅读:
    dom4j 创建XML文件
    Convert.ToInt32()与int.Parse()的区别
    委托
    工厂模式
    策略模式
    大型网站架构演化
    字符串反转(面试)
    switch(面试)
    带宽计算
    新语法
  • 原文地址:https://www.cnblogs.com/wtao0730/p/14373518.html
Copyright © 2020-2023  润新知