- @Configuration和@AutoConfiguration
- @Configuration属于Spring的内容,作用是代替xml创建Bean,@Configuration需要@ComponentScan注解扫描到才能生效,默认扫描项目启动文件所在目录,Spring Boot项目的@SpringBootApplication注解已经包含了@ComponentScan
- @AutoConfiguration属于Spring Boot,属于Spring Boot自动配置中的一个注解但是不能单一只考虑这一个注解,自动配置是由Spring Boot众多类、接口、注解共同实现的,其中就包括@AutoConfigureAfter、@AutoConfigureBefore,@AutoConfiguration比上述两个注解出现的晚,并且包含了上述两个注解,另外还包含了@Configuration,由于@AutoConfigureAfter、@AutoConfigureBefore没有引入@Configuration,所以一般情况下他们不能作为配置类,而@AutoConfiguration引入了@Configuration,所以它可以作为配置类
- 总的来说,配置功能本质还是使用@Configuration,而例如@AutoConfiguration这些注解只是在@Configuration的基础上,实现了更多的功能,而自动配置主要用于Spring Boot和第三方包的整合,
- org.springframework.boot.autoconfigure.AutoConfiguration.imports文件和spring.factories文件,所配置的类,不需要任何注解也能自动配置
- @Valid、@NotBlank配合使用
- 当一个方法参数或返回值被@Valid注解时,框架会自动调用验证器对这个对象进行验证,如果验证失败,通常会抛出ConstraintViolationException异常。其中所说的验证就是@NotBlank等注解
在Spring框架中,@Valid经常与@ModelAttribute或@RequestBody一起使用,以确保控制器接收到的数据符合预定义的约束条件
- 当一个方法参数或返回值被@Valid注解时,框架会自动调用验证器对这个对象进行验证,如果验证失败,通常会抛出ConstraintViolationException异常。其中所说的验证就是@NotBlank等注解
1 |
|