3
コンポーネントクラスとpom.xmlの依存関係は以下のようになっています。プロパティは決して設定されず、nullのままです。Spring @RefreshScopeが@Componentと連携していません
@Component
@RefreshScope
public class SecurityProperties1 {
@Value("${ad.url}")
public String adUrl;
@Value("${ad.manager.dn}")
public String managerDN;
@Value("${ad.manager.password}")
public String managerPassword;
@Value("${ad.search.base}")
public String searchBase;
@Value("${ad.user.filter}")
public String userFilter;
}
のpom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>1.2.1.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-commons -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-commons</artifactId>
<version>1.1.4.RELEASE</version>
</dependency>
また、 私の財産ソースは、私は同じ問題を抱えていたような
@Component
public class CustomPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer {
@Override
protected String resolvePlaceholder(String placeholder, Properties props) {
return DynamicProperty.getProperty(placeholder);
}
@Override
protected String resolvePlaceholder(String placeholder, Properties props, int systemPropertiesMode) {
return DynamicProperty.getProperty(placeholder);
}
}
春の雲のバージョンを混ぜるのをやめてください。そして、あなたのカスタム 'PropertyPlaceholderConfigurer'は適切な使い方を壊します。 –