自動検出時にプロパティをBeanに設定することはできますか?
テキストファイルを読み取る必要があるBeanがあり、パスを挿入したいのですが、このBeanは、すべてのBeanが自動検出されるWebアプリの一部です。
自動検出時にプロパティをBeanに設定することはできますか?
テキストファイルを読み取る必要があるBeanがあり、パスを挿入したいのですが、このBeanは、すべてのBeanが自動検出されるWebアプリの一部です。
はい、単に@Value
注釈を使用してそれらを注入します。例:
@Service("myService")
public class MyService
@Value("${myProperty}")
String whatever;
...
そしてアプリのコンテキストで:
<context:property-placeholder
location="classpath:application.properties"
ignore-unresolvable="true"
/>
クラスパスに文字列変数を含むファイルapplication.propertiesを貼り付けます(通常はsrc / main / resourcesを介して)。
または、ファイルがクラスパス上にあることを確認し、それをクラスパスリソースとして参照することもできます。
final org.springframework.core.io.Resource myFile = new ClassPathResource("MyTextFile.text");