将配置 class 自动连接到另一个配置 class 字段

Autowire the configuration class into another configuration class field

我有一个配置 class RetryConfig ,它使用 class RetryConfiguration 的配置属性。

在 class RetryConfig 中,我正在创建一个对象 SimpleRetryPolicy 字段,它需要一个 属性 of class RetryConfiguration 如下:

例如:

public class RetryConfig {

//private static final int MAX_RETRY_ATTEMPTS = 5;

@Autowired
RetryConfiguration retryConfiguration;

private final SimpleRetryPolicy simpleRetryPolicy = new SimpleRetryPolicy(retryConfiguration.getcount()); }

但是使用上面的代码,它失败了。

我在这里缺少什么?

字段初始化 (SimpleRetryPolicy simpleRetryPolicy = new SimpleRetryPolicy...) 发生在 @Autowired 计算之前。尝试其中之一:

  • 使 SimpleRetryPolicy 也成为一个 bean(例如,@Component)并在那里自动装配 RetryConfiguration
  • 使用 RetryConfiguration 参数创建 RetryConfig 的构造函数,并在该构造函数中初始化 simpleRetryPolicy。 class 看起来像这样:
public class RetryConfig {

//private static final int MAX_RETRY_ATTEMPTS = 5;

RetryConfiguration retryConfiguration;
private final SimpleRetryPolicy simpleRetryPolicy;

@Autowired
public RetryConfig (RetryConfiguration c) {
simpleRetryPolicy = new SimpleRetryPolicy(c.getcount());}

 }