Java

Mr.Jia 2024-8-10 194 8/10

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注解不生效的主要原因可能包括以下几个方面:

  1. 注解位置不正确:如果@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支持

嵌套验证

处理复杂对象时遇到过验证不生效的情况,比如一个对象包含另一个对象,内部对象的验证没有被触发。

分组验证

比如在同一个实体类中,根据不同场景需要验证不同的字段,这时候分组就很有用了。

 

 

- THE END -

Mr.Jia

7月31日09:46

最后修改:2025年7月31日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论