2017-01-26 8 views
0

私はSpringの古いプロジェクトのXML設定をJavaのコンフィグに移しています。Spring XMLコンテキスト:プロパティ - プレースホルダーからJava Springへのコンフィグ設定

私は、次の設定があります。

<context:property-placeholder location="file:${catalina.home}/conf/patient-api.application.properties" order="1" ignore-resource-not-found="true" ignore-unresolvable="true"/> 
<context:property-placeholder location="classpath:application.properties" order="2" /> 

適切なJavaの設定にこれを翻訳するためにどのように?

答えて

2
@Configuration 
@PropertySource(value="file:${catalina.home}/conf/patient-api.application.properties", ignoreResourceNotFound = true) 
@PropertySource("classpath:application.properties") 
public class AppConfig{ 

    @Bean 
    public PropertyPlaceholderConfigurer placeholderConfigurer(){ 
     PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer(); 
     configurer.setIgnoreUnresolvablePlaceholders(true); 
     return configurer; 
    } 

} 
+0

感謝を。原因:java.io.FileNotFoundException:c:¥Development¥3rdparty¥apache-tomcat-8.0.38¥conf¥patient-api.application.properties(指定されたファイルが見つかりません) – alexanoid

+0

私は 'configurer.setIgnoreResourceNotFound(true);'を追加しましたが、 'PropertyPlaceholderConfigurer' bean設定の前に' @ PropertySource'のようなものが呼び出されるので助けになりません – alexanoid

+0

ありがとう、すべて正常です! – alexanoid

0

あなたはこのような何かを行うことができます。あなたの答えのための

@SpringBootApplication 
public class Application { 

public static void main(String[] args) { 

    ConfigurableApplicationContext applicationContext = new SpringApplicationBuilder(Application.class) 
      .properties(
        "spring.config.name:patient-api.application,application", 
        "spring.config.location:classpath:/,file:${catalina.home}/conf/") 
      .build().run(args); 
} 

} 
関連する問題