本文主要是介绍添加@Transactional后获取不到类前的注解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原本在类前加了一个自定义的注解,后来在该类下的方法中添加了@Transactional注解,发现通过类反射获取不到自定义的注解了。
原因是增加了Transactional会增加AOP代理,IOC中的bean是代理类,不是真实bean需要通过代理获取真实的的类。
Advised advised = (Advised) applicationContext.getBean(key);
SingletonTargetSource singTarget = (SingletonTargetSource) advised.getTargetSource();
payApiService = (PayApiService) singTarget.getTarget();
payApi = payApiService.getClass().getAnnotation(PayApi.class);
这篇关于添加@Transactional后获取不到类前的注解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!