Springで外部ファイル読み込みたい場合

メールとかでテンプレートファイル読み込みたい場合。

src/resources/hoge.xml

とかにこんな感じで設定してあげる。

     <bean id="hogeConf" class="org.springframework.core.io.FileSystemResource">
        <constructor-arg>
             <value>src/resources/</value>
        </constructor-arg>
    </bean>

あとはこんな感じでcontextからとれます。

import org.springframework.core.io.FileSystemResource;

// Main class

ApplicationContext context  = new ClassPathXmlApplicationContext("hoge.xml");

FileSystemResource fsr      = (FileSystemResource)context.getBean("hogeConf");

// 絶対パス
fsr.getFile().getAbsolutePath();