本來在類前加了一個自定義的註解,後來在該類下的方法中添加了@Transactional註解,發現經過類反射獲取不到自定義的註解了。
緣由是增長了Transactional會增長AOP代理,IOC中的bean是代理類,不是真實bean須要經過代理獲取真實的的類。markdown
Advised advised = (Advised) applicationContext.getBean(key); SingletonTargetSource singTarget = (SingletonTargetSource) advised .getTargetSource(); payApiService = (PayApiService) singTarget.getTarget(); payApi = payApiService.getClass().getAnnotation(PayApi.class);