开发插件工具记录

一、基本工具包使用

统一使用spring 包

StringUtils hasText(包括判断null,空,字符串为空)
ObjectUtils
BeanUtils
CollectionUtils—集合校验包

lang3----

ArrayUtils

java.util--------------

Arrays—数组工具包
Collections----集合工具包

JSON转换

//解决返回丢失精度问题
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long createdBy;
//格式化时间
//入参
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
private date createAt;
//出参
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")

//json转换
String jsonString = JSON.toJSONString(photos);

二、mapstruct

mapstruct:是一个对象之间转换的一个工具,如VO、PO、FORM直接的转换。
通过自定义接口,来让工具进行实现自定义转换,转换映射也是通过字段名称来进行匹配的。

1、基本导入使用

<dependency>
   <groupId>org.mapstruct</groupId>
   <artifactId>mapstruct</artifactId>
   <version>1.5.0.Final</version>
</dependency>
<dependency>
   <groupId>org.mapstruct</groupId>
   <artifactId>mapstruct-processor</artifactId>
   <version>1.5.0.Final</version>
</dependency>
<!--  plugins -->
<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-compiler-plugin</artifactId>
     <version>3.8.1</version>
     <configuration>
         <source>1.8</source>
         <target>1.8</target>
         <annotationProcessorPaths>
             <path>
                 <groupId>org.mapstruct</groupId>
                 <artifactId>mapstruct-processor</artifactId>
                 <version>${mapstruct.version}</version>
             </path>
         </annotationProcessorPaths>
     </configuration>
 </plugin>

2、代码实践使用

1、生成convert接口,Mapper导包 为mapstrcut

@Mapper(componentModel ="spring")
public interface FarmConvert {
    FarmConvert INSTANCE = Mappers.getMapper(FarmConvert.class);
    //PO转换VO
    FarmVO convert(FarmPO farmPO);
}

2、实践调用
FarmVO convert = FarmConvert.INSTANCE.convert(farmPO);

3、额外信息扩展
@Mapping(target = "imagesUrl",ignore = true) //设置某字段不映射
@Mapping(target = "userNick1", source = "userNick")//指定映射某个字段
ActivityPO convert(ActivityVO vo);

Lombok

lombok: 常用于 实体类,使用注解的方式来生成,使用方式比较简单,直接在实体类上面加注释就可以。

@Getter/@Setter

生成get set方法

@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor

生成无参构造器、有参构造器、指定参数构造器

@Data

包含了一下几个

  • @Getter/@Setter
  • @ToString
  • @EqualsAndHashCode
  • @RequiredArgsConstructor

@Builder

使其类构建成(建造者模式),形成流式写法
例如:FarmPO farmPO2 = FarmPO.builder().id(1L).farmName(“1”).build();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值