Spring Bootで設定ファイル(XML)を使う方法

spring

従来のSpring Frameworkだと減ったとはいえXMLは必須でしたが、Spring Bootは設定ファイル無しでも動く画期的なSpringです。

そうはいってもSpring Bootでも設定ファイルを使いたいという場面は必ずでてきます。もちろん従来のSpringと同じようなXML設定ファイルを使うこともできます。

今回はSpring BootでXML設定ファイルを使用する方法を紹介していきます。

[スポンサーリンク]

XMLを用意する。

まずはXML設定ファイルを用意しましょう。
ファイル名はなんでもよいのですが、今回はservlet-context.xmlという名前にします。
ファイルの設置場所は、main/resources直下にします。

設定ファイルの内容はとりあえず、プロパティファイルを読み込むという標準的な設定にしておきます。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

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

</beans>

XMLを読み込む設定

mainメソッドのあるクラスの先頭へ、@Configurationを追加します。
続いて、@ImportResourceも追加します。こちらはXML設定ファイル名を指定する必要があります。

これだけで設定は完了です。
これでSpring Boot起動時に、XML設定ファイルを読み込んでくれます。
もしコントローラクラスを追加したとしても、追加したクラスへこちらの設定は追記する必要ありません。mainのところにさえあればOKです。

@SpringBootApplication
@Configuration
@ImportResource("servlet-context.xml")
public class App 
{
    public static void main( String[] args )
    {
        SpringApplication.run(App.class, args);
    }
}

springとjavaのバージョン

Spring Bootのバージョンは、1.2.3を使っています。
javaは、version 8です。

さいごに

ためしにサンプルを動かす程度の簡単なプロジェクトであれば、XML設定ファイルは必要ないかもしれませんが、やはり規模が大きくなると設定ファイルは必要になってきます。
そんな時は遠慮なくXML設定ファイルを活用していきましょう!

それでは!