我遇到了一个迫切的问题,在同一个类中,在@PostConstruct方法之前先执行anotain @Bean方法,
在春季引导oauth2中。有一个名为
的类AuthorizationServerEndpointsConfiguration.java
其中有2种方法。
@PostConstruct
public void init() {
xxxx
}
}
@Bean
public AuthorizationServerTokenServices defaultAuthorizationServerTokenServices() {
return endpoints.getDefaultAuthorizationServerTokenServices();
}
根据我的理解,init shuold在defaultAuthorizationServerTokenServices方法之前运行,但是当我在IDEA中对其进行调试时,defaultAuthorizationServerTokenServices在init之前运行。
如下所示,配置可以重现此问题。
@Configuration
@Import({ ClientDetailsServiceConfiguration.class, AuthorizationServerEndpointsConfiguration.class })
class MyAuthorizationServerConfigurer extends AuthorizationServerConfigurerAdapter {
.....
}
你能告诉我原因吗?
谢谢
答案 0 :(得分:1)
使用@RefreshScope调试配置程序时,我们遇到了此问题。
当我们放弃RefreshScope延迟加载时,似乎可以解决问题
// @RefreshScope
public class MyAuthorizationServerConfigurer extends AuthorizationServerConfigurerAdapter {
}