DTO
DTO(Data Transfer Object)数据传输对象
主要用于远程调用等需要大量传输对象的地方(目的是将需要获取数据的属性封装成对象,减少在层间的传输,提高开发效率)
jackson中@JsonProperty/@JsonIgnore/@JsonInclude等常用注解总结
@JsonProperty:此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,@JsonProperty(“name”)。
对属性名称重命名,比如在很多场景下Java对象的属性是按照规范的驼峰书写,但在数据库设计时使用的是下划线连接方式,此处在进行映射的时候就可以使用该注解
@JsonIgnore此注解用于属性或者方法上(最好是属性上),用来完全忽略被注解的字段和方法对应的属性,即便这个字段或方法可以被自动检测到或者还有其他的注解,一般标记在属性或者方法上,返回的json数据即不包含该属性。
@JsonInclude的用法
JsonJsonInclude.Include.ALWAYS
这个是默认策略,任何情况下都序列化该字段,和不写这个注解是一样的效果。
JsonJsonInclude.Include.NON_NULL
这个最常用,即如果加该注解的字段为null,那么就不序列化这个字段了。
JsonJsonInclude.Include.NON_ABSENT
这个包含NON_NULL,即为null的时候不序列化
Java中的双冒号(::)的用法
双冒号运算就是Java中的[方法引用],[方法引用]的格式是 类名::方法名。
一般是用作Lambda表达式
例如:
表达式:person -> person.getName();
可以替换成Person::getName
表达式() -> new HashMap<>();
可以替换成HashMap::new
这种[方法引用]或者说[双冒号运算]对应的参数类型是Function<T,R> T表示传入类型,R表示返回类型。
拉取项目解决依赖问题
- 在Maven本地软件中的settings.xml中配置公司自定义的设置
- 配置好之后,直接从Gitlab中直接拉取项目到本地
- 右键pom.xml,选择Reload project,等待项目依赖的加载