1. @Configuration和@AutoConfiguration
    1. @Configuration属于Spring的内容,作用是代替xml创建Bean,@Configuration需要@ComponentScan注解扫描到才能生效,默认扫描项目启动文件所在目录,Spring Boot项目的@SpringBootApplication注解已经包含了@ComponentScan
    2. @AutoConfiguration属于Spring Boot,属于Spring Boot自动配置中的一个注解但是不能单一只考虑这一个注解,自动配置是由Spring Boot众多类、接口、注解共同实现的,其中就包括@AutoConfigureAfter、@AutoConfigureBefore,@AutoConfiguration比上述两个注解出现的晚,并且包含了上述两个注解,另外还包含了@Configuration,由于@AutoConfigureAfter、@AutoConfigureBefore没有引入@Configuration,所以一般情况下他们不能作为配置类,而@AutoConfiguration引入了@Configuration,所以它可以作为配置类
    3. 总的来说,配置功能本质还是使用@Configuration,而例如@AutoConfiguration这些注解只是在@Configuration的基础上,实现了更多的功能,而自动配置主要用于Spring Boot和第三方包的整合,
    4. org.springframework.boot.autoconfigure.AutoConfiguration.imports文件和spring.factories文件,所配置的类,不需要任何注解也能自动配置
  2. @Valid、@NotBlank配合使用
    1. 当一个方法参数或返回值被@Valid注解时,框架会自动调用验证器对这个对象进行验证,如果验证失败,通常会抛出ConstraintViolationException异常。其中所说的验证就是@NotBlank等注解
      在Spring框架中,@Valid经常与@ModelAttribute或@RequestBody一起使用,以确保控制器接收到的数据符合预定义的约束条件
1
2
3
4
5
6
@PostMapping("/users")
public ResponseEntity<?> createUser(@Valid @RequestBody User user) {
userService.save(user);
return ResponseEntity.ok().build();
}
//在这个例子中,如果User对象不符合在类或其属性上定义的验证规则,Spring将不会调用createUser方法,而是直接返回HTTP状态码400和错误详情给客户端。

本站总访问量:次本站总访问数:人
本站由 Peng Tong 使用 Stellar 1.29.1 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。