2016-04-17 73 views
0

1つのドライブに1つのファイル(C:\ megzs \ realm.properties)があります。このファイルを読み込み、Springで利用可能なClassPathResourceを使用してコンテンツを読みたいと思います。しかし、ファイルが例外ではないことがわかります。我々がしようとしているコードは、ここでは、外部ファイルをロードするためにClassPathResourceを使用しているSpringでClassPathResourceを使用して外部ファイルをロードする方法は?

Resource resource = new ClassPathResource("file:c:/megzs/realm.properties"); 
Properties prop = PropertiesLoaderUtils.loadProperties(resource); 

です。 ClassPathResourceは外部ファイルをロードできますか?
そして、どのように複数のプロパティファイル(クラスパスと絶対パスから1つずつ)を読み込むことができますか? @PropertySource()propertiesを使用して多くのプロパティをロード

答えて

0

イムはEnvironmentオブジェクト を使用して読み込まれます、あなたがこのアプローチを試してみてくださいすることができる、あなたは近づいあなたならば、それは

@Configuration 
    @PropertySource({ 
     "classpath:config.properties", 
     "file:/path/to/application.properties" //if same key, this will 'win' 
    }) 
    public class AppConfig { 

     @Autowired 
     Environment env; 

       public void ReadProperties() { 

     String property1 = env.getProperty("property"); 
     String property2 = env.getProperty("property2"); 
       } 

       //if theres same key found in the second property 
       //file key in the second property file wiil be read 
    } 
+0

複数のプロパティファイルをロードするには? 1つはクラスパス上にあり、もう1つは絶対パス上にあります。 resourceLoader.getResource( "classpath:com/testing.txt"); ' 出力を次のように割り当てます: –

+0

'リソースバナー= resourceLoader.getResource("ファイル:c:/file.txt "); 'Resource ' – Priyamal

+0

プロパティを読み込むためにPropertiesLoaderUtilsを使用しています。 loadProperties()メソッドの使用。このメソッドは、単一のリソースオブジェクトのみを受け入れます。複数のプロパティファイルをロードするにはどうすればいいですか? –

1

私にはやや混乱してBT間違っ ではありませんファイルベースのリソースにアクセスするには、FileSystemResourceを使用してPropertiesLoaderUtils.loadProperties()メソッドに提供します。以下のコードは、存在しない場合はファイルシステムからプロパティファイルを読み込み、クラスパスからロードします。それが役に立てば幸い。

public static Properties getProperties(String propertyFile) { 
    try { 
     Resource resource = new FileSystemResource(propertyFile); 
     if (!resource.exists()) { 
      resource = new ClassPathResource(propertyFile); 
     } 
     return PropertiesLoaderUtils.loadProperties(resource); 
    } catch (Exception ignored) { 
     return null; 
    } 
} 
関連する問題