AOP
使用@AfterReturning 定义多个切入点时报错error at ::0 inconsistent binding
多个切入点要用()括起来@AfterReturning(value = "(execution(* com.TestService.*(..)) || execution(* TestaService.CircleService.*(..))) && @annotation(annotation)", returning = "result")
@EnableAspectJAutoProxy 注解来启用 AspectJ 自动代理。
@ConditionalOnClass
通俗的讲,@ConditionalOnClass标识在@Configuration类上,只有存在@ConditionalOnClass中value/name配置的类该Configuration类才会生效;@ConditionalOnClass标识在@Bean方法上,只有只有存在@ConditionalOnClass中value/name配置的类方法才会生效。看具体的实例更容易理解些
@ConditionalOnMissingBean
俩个作用:根据当前环境或者容器情况来动态注入bean,要配合@Bean使用 @ConditionalOnMissingBean作用:判断当前需要注入Spring容器中的bean的实现类是否已经含有,有的话不注入,没有就注入 @ConditionalOnBean作用:判断当前需要注册的bean的实现类否被spring管理,如果被管理则注入,反之不注入
@NotNull注解不生效的主要原因可能包括以下几个方面:
- 注解位置不正确:如果@NotNull注解放在实体类中,需要在Controller接口的方法参数中加入@Valid注解;如果放在Controller层的接口参数中,需要在该方法所在的Controller类上添加@Validated注解。
switch使用枚举是不能加类名,
Enums.TEST-->TEST
switch (entity.getTest()){
case TEST:
print("111")
break;
Validated
属于spring中的扩展注解
支持分组验证
作用范围:只能用在类、方法、参数上,比如在字段上用Validated无效的情况
嵌套验证:Valid在处理嵌套对象时,需要显式标注才能触发内部验证
依赖关系:Valid是标准注解,需要引入javax.validation的依赖,
Valid
属于Javaee标准库中的
不支持分组验证
作用范围:可以用在方法、字段、构造器等上面
嵌套验证:Validated在方法参数上使用时,默认就会开启嵌套验证。
依赖关系:Validated属于Spring,需要Spring-context支持
嵌套验证
处理复杂对象时遇到过验证不生效的情况,比如一个对象包含另一个对象,内部对象的验证没有被触发。
分组验证
比如在同一个实体类中,根据不同场景需要验证不同的字段,这时候分组就很有用了。
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://jiaheming.cn/2024/08/java-2/

共有 0 条评论