2021.7.7 关于spring注解

2021.7.7 关于spring注解# 系列文章目录

例如:day1,关于spring的几个注解


前言

提示:这里可以添加本文要记录的大概内容:
2021.7.7 创建每日一更系列,用来不断丰富自己


提示:以下是本篇文章正文内容,下面案例可供参考

1,@AutoConfigureBefore 和 @AutoConfigureAfter 是 spring-boot-autoconfigure 包下的注解

用法:

@AutoConfigureBefore(AAAA.class),或者@AutoConfigureBefore({AAAA.class,BBBB.class})

示例:

@AutoConfigureBefore(AAAA.class)
public class CCCC{
    
}

说明 CCCC 将会在 AAAA之前加载

@AutoConfigureAfter(AAAA.class),或者@AutoConfigureAfter({AAAA.class,BBBB.class})

实例:

@AutoConfigureAfter(AAAA.class)
public class CCCC{
    
}

说明 cccc 会在 aaaa之后加载

2,ValidationAutoConfiguration : springboot 自动配置

我的理解就是加上这个注解就可以 使用 validator 进行后端校验(使用JSR303的注解进行校验)。

确切的说是,首先要导入 validation的 jar包,然后是用户没有自己定义 javax.validation.validator 类型的bean的情况下。它允许我们在bean的方法参数或者方法上添加JSR303标准的validation注解。从而在进行bean的方法调用时可以对方法参数或者方法的返回值进行有效性校验。

使用方式:

@AutoConfigureBefore(ValidationAutoConfiguration.class)

概述:

ValidationAutoConfiguration 是 springboot 对应用中验证机制的自动配置,它主要向容器贡献了两个bean。

1,LocalValidatorFactoryBean defaultValidator

2,MethodValidationPostProcessor methodValidationPostProcessor

1,LocalValidatorFactoryBean defaultValidator

1,这就是一般意义上所说的 validator bean

2,仅在容器不存在类型为Validator 的 bean 时才定义,也就是说如果开发人员自己定义了 validator bean,则这里不定义

3,该定义确保容器中总是会有一个 validator bean

这个validator bean是基础性组件,应用中更上层的验证逻辑,比如基于JSR-303 注解的bean属性和方法参数的验证,都是使用该 validator bean组件。

2,MethodValidationPostProcessor methodValidationPostProcessor

1,这是一个 beanPostProcessor ,它会检测所有带注解@validated 的bean 定义,使用一个 带有 方法参数验证逻辑的 methodValidationPostProcessor 包裹这样的每一个bean (必要时会触发bean代理对象的创建)

2,仅在容器中不存在该类型的bean时才定义。

3,所使用的 validator bean 来自容器,如果开发人员未定义 validator bean ,则所使用的 validator bean 就是 本自动配置所定义的 validator bean。

注意:

validationAutoConfiguration 自动配置仅在检测到 classpath 上存在文件META-INF/services/javax.validation.spi.ValidationProvider和类 javax.validation.executable.ExecutableValidator 时才应用,因为这两个文件/类表明开发人员引入了相应的 Validation Provider jar包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值