Java @ConfigurationProperties没有';如果在没有注释的地方注入相同的值,则不更新
我使用@ConfigurationProperties和Zookeeper在运行时更新某些属性值 代码的相关部分如下所示:Java @ConfigurationProperties没有';如果在没有注释的地方注入相同的值,则不更新,java,spring,spring-boot,configurationproperties,Java,Spring,Spring Boot,Configurationproperties,我使用@ConfigurationProperties和Zookeeper在运行时更新某些属性值 代码的相关部分如下所示: @Configuration public class Config { @Bean("limitedRepository") public Repository limitedRepository( @Qualifier("repository") Repository repository, @V
@Configuration
public class Config {
@Bean("limitedRepository")
public Repository limitedRepository(
@Qualifier("repository") Repository repository,
@Value("${some.property-one:1}") int one,
@Value("${some.property-two:2}") int two) {
return new LimitedRepository(repository, one, two);
}
@Bean("rateAdjuster")
@ConfigurationProperties(prefix = "some.property")
public RateAdjuster rateAdjuster(
@Qualifier("limitedRepository") Repository limitedRepository,
@Value("${some.property-one:1}") int one,
@Value("${some.property-two:2}") int two,
@Value("${some.property-three:3}") int three,
@Value("${some.property-four:4}") int four
) {
return new RateAdjuster(limitedRepository, one, two, three, four);
}
}
BeanLimitedRepository使用值作为速率,RateAdjuator是具有调度方法的Bean,该方法应根据特定标准调整和设置limitedRepository Bean的速率
所以我的目标是:
@ConfigurationProperties(prefix=“some.property”)
放在limitedRepository()方法上,那么所有属性都可以在运行时更新,但这不是我想要的有谁能帮助我了解这里发生了什么,并希望找到这个问题的解决方案吗?@ConfigurationProperties(prefix=“some.property”)将尝试对返回的对象设置器应用值。在您的情况下,将在值更改时调用RateRegulator对象设置器。你们有有效的设置器吗?。房价调节器上的房产匹配吗?@AbishekramR实际上,这是个问题!谢谢你给我指出了那个方向,它与我之前认为的问题没有任何关系。SpringBoot使用轻松绑定,因此属性3和属性4对于绑定来说足够相似,而其他两个则不然。