3

次のようなプロパティ ファイル myprops.properties があります。

Wsdl=someurl
UserName=user
UserPassword=pasword
Application=appName

そして、コントローラー内で、次のようにサービスの値を設定するためにアクセスしようとしています

Properties prop = new Properties();
prop.load(new FileInputStream("resources/myprops.properties"));
myService.setWsdl(prop.getProperty("Wsdl"));
myService.setUserName(prop.getProperty("UserName"));
myService.setUserPassword(prop.getProperty("UserPassword"));
myService.setApplication(prop.getProperty("Application"));

私の問題は、使用するパスがわからないことです。それが違いを生むなら、それはSpringプロジェクトです。そして理想的には、「src/main/resources」フォルダーにプロパティファイルを置きたいと思います

これは一部の人にとっては非常に簡単かもしれませんが、こことGoogleの両方で解決策を検索しようとしましたが、役立つ解決策が見つからないようです. プロジェクト内でファイルを移動しようとしましたが、理解できないようです

私が得るエラーは

java.io.FileNotFoundException: resources\drm.properties (The system cannot find the path specified) 

アドバイス/説明、またはそれを明確に説明するリンクでさえ素晴らしいでしょう

4

5 に答える 5

1

それsrc/main/resourcesがクラスパス上にあるとすれば、次のことができます。

Resource resource = new ClassPathResource("/myprops.properties");
Properties props = PropertiesLoaderUtils.loadProperties(resource);
于 2013-02-25T16:13:29.623 に答える
1

春を使用している場合は、プロパティのプレースホルダーを設定できます。

 <context:property-placeholder location="classpath:resources/myprops.properties" />

Bean では、@Valueアノテーションを使用してプロパティから値を注入できます

@Autowired
public Foo(@Value("${Wsdl}") String wsdl) {
   ...
}

上記の場合、コンストラクターで使用しましたが、Autowired フィールド/セッターで使用することができます。

したがって、サービスでは次のようなものを使用できます。

@Service
public class MyService {
     private final String wsdl;
     private final String username;
     private final String password;
     private final String application;

     @Autowired
     public MyService(
         @Value("${Wsdl}") String wsdl,
         @Value("${UserName}") String username,
         @Value("${UserPassword}") String password,
         @Value("${Application}") String application
         ) {
         // set it to each field.
     }
}
于 2013-02-25T16:18:25.907 に答える
0

いつでも mkyong を頼りにすることができます。これは、プロパティ ファイルをロードして読み取る方法の例/チュートリアルです。

http://www.mkyong.com/java/java-properties-file-examples/

この質問は重複としてマークする必要があります。

  1. Java パッケージからのプロパティー・ファイルのロード
  2. Java プロパティ ファイルの使用方法
  3. Java でプロパティ ファイルをロードする
  4. Java プロパティ ファイルがロードされない
  5. プロパティ ファイルのロード時の Java NullPointerException
  6. Java でプロパティ ファイルを読み込めません
于 2013-02-25T16:10:54.383 に答える
0

を使用しないでくださいFileInputStreamgetResourceAsStream()サーブレットコンテキストから読み取るために使用します。

于 2013-02-25T16:10:36.723 に答える