spring bean方法:如何获取方法名称?

问题描述

假设我有一个用 @Bean 注释的 java 方法。

示例:

public void coco() {
    String strCurrMethodName = new Object(){}.getClass().getEnclosingMethod().getName();        
    System.out.println("Méthode : \"" + strCurrMethodName +"\"") ;
}

@Bean
public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
    
    return args -> {coco();
                    String strCurrMethodName = new Object(){}.getClass().getEnclosingMethod().getName();
                    System.out.println("Méthode : \"" + strCurrMethodName +"\"") ;
                    };
}

这是控制台输出:

方法:“可可”

方法:“lambda$0”

如您所见,我们可以为非 bean 方法获取方法名称。 但是对于 bean 方法,我们不会获取方法名称,而是获取由 spring 管理的通用值(我们获取“lambda$0”而不是“commandLineRunner”。

有没有人有办法获取spring bean的方法名?

提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)