私はアプリケーションで春を使用しています。クラスパス上のいくつかのファイルからいくつかのプロパティをアプリケーションに注入できます。すなわちMainクラスからSpring Beanにプロパティを挿入する方法
<bean class="org.springframework.web.context.support.ServletContextPropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<property name="searchContextAttributes" value="true" />
<property name="contextOverride" value="true" />
<property name="ignoreResourceNotFound" value="true" />
<property name="locations">
<list>
<value>classpath:application.properties</value>
</list>
</property>
</bean>
私は春の文脈で${any.property.from.application.properties}
を使用できます。そして、私のメインクラスに:それは同様に動作
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("appContext.xml");
、私の質問は、私はそれが最初にそこにいることなく、春のコンテキスト内のプロパティファイルの場所を注入行う方法、私は私のアプリは、設定したいです。私はC:\dir
または/user/home/dir
から私のアプリを実行していた場合、私はアプリケーションコンテキスト内の値は、私が正しくあなたの質問を読んでいた場合、あなたは外部の特性(すなわち、ファイルをされるファイルを使用したいC:\application.properties
または/user/home/dir/application.properties
これをメインクラスのアプリケーションコンテキストに挿入するにはどうすればよいですか? – London
あなたはこのようないくつかのものを使用してプロパティの場所を挿入することができますが、このプロパティをプロパティーconfigurerに追加することを確認してください。PropertyPlaceholderConfigurer configurer =(PropertyPlaceholderConfigurer)ctx.getBean (PropertyPlaceholderConfigurer.class); \t \tリソースrsc = new FileSystemResource( "file:/// C:\\ Applications \\ one.properties"); \t \t configurer.setLocation(rsc);理由はわかりませんが、スプリングコンテナの起動後にプロパティファイルを挿入すると、コンテキストファイルのプロパティを使用できなくなります。 –