将配置 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());}
}
我有一个配置 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());}
}