Spring Boot 如何在Sping Boot 中动态自动连接Bean

xjreopfe  于 2023-11-17  发布在  Spring
关注(0)|答案(1)|浏览(121)

我在Stack Overflow上遇到了一些与此问题相关的示例,例如Link 1Link和一篇文章Article。尽管通过它们,我仍然难以实现适当的解决方案。有人可以提供如何实现这一点的指导吗?
我有一个名为ZendeskClient的类,它需要一个token参数来示例化。没有这个token,该类就无法示例化。下面是一个典型的ZendeskClient示例化示例:

ZendeskClient zendesk = new ZendeskClient(token)

字符串
从数据库中检索令牌,下面是获取令牌的示例实现:假设integrationId来自spring web控制器。

public String getToken(long integrationId) {
  var integration = integration.findById(integrationId):
  var integrationToken = integrationTokenRepository.findById(integration.getId)
  return integrationToken.getToken();
}


有了这些信息,我试图在ZendeskService类中实现以下内容:

public class ZendeskServiceImpl {

@Autowire
public ZendeskClient client;

}


对于如何实现这一点有什么想法或建议吗?

ie3xauqp

ie3xauqp1#

你不能自动连接不是由spring创建的对象。所以,在你的配置类中为ZendeskClient添加bean。

@Configuration
public class ConfigurationClass {
// some other configuration

   @Bean
   public ZendeskClient getZendeskClient() {
       return new ZendeskClient(getToken(integrationId));
   }
  
}

字符串

相关问题