我有一个自定义方法注释 (@EventListener),我在具有 @Transactional 注释的类内的方法中使用它。
以下是该课程的示例
@Component
@Transactional
public class someClass {
@EventListener
public void someMethod() {
}
}
该类在一个包中包含在上下文文件组件扫描中。在另一个实现 ApplicationContextAware 的类中,我检查类的方法是否有我的 @EventListener 注释。出于某种奇怪的原因,当类中存在@Transactional 时,我的自定义注释丢失了。
这就是我检查方法注释的方式:
公共对象 postProcessAfterInitialization(对象 bean,字符串 beanName)抛出 BeansException {
System.out.println("SCANNING :::::: " + beanName);
for (Method method : bean.getClass().getMethods()) {
for(Annotation a : method.getAnnotations()) {
System.out.println("\t>>>>> " + a.toString());
}
...
有没有办法使用@Transactional 而不会弄乱它注释的类中的其他方法注释?
编辑:我在发布Spring 后发现了这个 - @Transactional - 在后台会发生什么?- 似乎创建了某种代理,这似乎导致我的注释“消失”。有没有办法获得对原始类的引用?