1. lombok注解:@RequiredArgsConstructor

Spring 依赖注入方式 1.通过 @Autowire、@Resource 等注解注入, 2.通过构造器的方式进行依赖注入。 3.setter注入 4.lombok 的 @RequiredArgsConstructor

在controller或service层的时候,需要注入很多的service接口或者mapper接口,会写很多的自动注入@Autowired或者@Resource注解,使用lombok的@RequiredArgsConstructor注解写在类上可以简化该操作。代码看起来更清晰。

@RestController

@RequiredArgsConstructor

public class UserController extends BaseController {

private final IUserService userService;

}

相关属性: staticName:返回生成静态方法的名称 onConstructor:列出的所有注解都放在生成的构造方法上 access: 设置构造方法的访问修饰符 PUBLIC, MODULE, PROTECTED, PACKAGE, PRIVATE,NONE; NONE:表示不生成任何内容或完全缺乏方法。 MODULE:是 Java 9 的新特性。 注意:

1.注入时需要用final定义,或使用@NonNull注解 2.如果注入的类有多个实现,需要用 @Qualifier 注解指定要注入的 bean 实现 3.@RequiredArgsConstructor 是为每个需要特殊处理的字段生成构造函数。 所有未初始化的带有 final 关键字的字段或标有 @NonNull 注解都会获得构造字段;参数的顺序与字段在类中出现的顺序一致。

2.校验注解 spring注解:@Validated, javax 注解 @Valid

@Validated:Spring的注解,是标准JSR-303的一个变种(补充),提供了一个分组功能,可以在入参验证时,根据不同的分组采用不同的验证机制。 @Valid:标准JSR-303规范的标记型注解,用来标记验证属性和方法返回值,进行级联和递归校验。

@Valid/@Validated

@PostMapping

public Respone saveUser(@RequestBody User user){

return Respone.success();

}

@PostMapping

public Respone saveUser(@RequestBody @Valid/@Validated

User user){

return Respone.success();

}

嵌套校验: 一个类中包含了另外一个实体类,需要在上面加@Validated

public class User{

@validated

private List cardList;

}

3.Spring中的 延迟加载 @Lazy注解 解决:

1.循环依赖问题,使用动态代理创建一个代理类。 2.第一次调用的时候加载。减少IOC的启动时间。项目启动加快。 3.用来解决 Requested bean is currently in creation 的问题

4.hibernate 延迟加载 @Lazy 校验器:hibernate.validator @Lazy

只有在需要时才去数据库中抓取相应的记录。通过延迟加载技术可以避免过多、过早地加载数据表里的数据,从而降低应用的内存开销。

校验器: @Length(max = 6 * 10,groups ={Ordinary.class,Loop.class,Update.class})

精彩文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: