今天在项目中遇到了一个问题,项目中自定义注解有两个一个作用在类上、一个作用在方法上。
在项目启动时,会先去扫描带有该注解的类,在通过类扫描带有指定注解的方法然后进行注册。但是我写逻辑时,将事务注解Transactional,直接放在了带有该注解类下的方法上,然后就导致该类下的所有方法全部都无法在项目初始化时进行注册。然后掉方法,怎么都404。
后面经过排查,当**你的类上声明了Transactional注解时,spring就会将该类变为动态代理类,这样就不是原来的类了。**为了避免,以后尽量将Transactional在service层进行使用。
java反射中在最上层使用@Transactional会造成反射失败
最新推荐文章于 2023-06-12 22:00:14 发布