小编Edw*_*rew的帖子

如何根据变量延迟Spring Bean初始化

我的问题是,在调用 API 之前我需要获取身份验证令牌。必须在应用程序启动时调用 api。然而,我遇到了麻烦,因为两个调用是同时进行的,因此在进行 api 调用之前产生了没有身份验证令牌的错误。

我基本上需要 tokenUtilityClass 在实例化 Paypal 类之前创建令牌。我已经尝试过 @Preconstruct 和 @Lazy 注释,但两者都不适合我。

我有一个 validToken 的布尔值,一旦创建身份验证令牌,该值将返回 true。

这就是我的 Springboot 配置文件的样子

@Autowired
private TokenUtilityClass tokenUtilityClass;


  @Bean ResourceConfig resourceConfig() {
      return new ResourceConfig().registerClasses(Version1Api.class); }

  @PostConstruct
  public void postConstruct() {
      tokenUtilityClass.tokenTimer();
  }


@DependsOn("TokenUtilityClass")
@ConditionalOnProperty(name ="tokenUtilityClass.validToken", havingValue ="true")
@Lazy
public Paypal eventPublisherBean() {
    return new Paypal();
}
Run Code Online (Sandbox Code Playgroud)

有人会对仅在生成身份验证令牌后初始化 Paypal 类有任何想法吗?

所有帮助将不胜感激

java lazy-loading spring-boot

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

lazy-loading ×1

spring-boot ×1