libro
www.tuyano.com
初心者のためのSpring Framework入門

JpaRepositoryを利用する (2/8)

作成:2015-08-08 10:53
更新:2015-08-08 10:53

■Bean設定ファイルを用意する

では、Bean設定ファイルを用意しましょう。先に、dbbean.xmlというファイルを用意していましたね。あれをそのまま書き換えて使うことにします。

下のリスト欄に、修正したdbbean.xmlのソースコードを掲載しておきました。このように内容を書き換えて下さい。

今回は、2つのBean関連タグが追加になっています。まず、JpaRepositoryに関するタグが1つ用意されています。
<jpa:repositories base-package="com.tuyano.libro.db" />
この<jpa:repositories>タグには、base-packageという属性が用意されています。これで、検索する場所(パッケージ)を指定します。これにより、指定されたパッケージ内からJpaRepositoryを探してBeann化します。

もう1つは、「トランザクションマネージャ」と呼ばれるBeanです。これは、トランザクションを管理するためのもので、以下のように記述されています。
<bean id="transactionManager"
    class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
ここで定義されているのは「transactionManager」という名前のBeanで、classにはJpaTransactionManagerクラスを指定します。他、「entityManagerFactory」という属性がありますが、これは作成するBeanで使用するEntityManagerFactoryを指定します(その上にあるid="entityManagerFactory"をrefで指定してあります)。

これで、JpaRepositoryを利用するのに必要なBeanの準備が整いました。「あれ、さっき用意したSampleEntityRepositoryは、Beanとして用意しないの?」と思った人。これは、不要です。<jpa:repositories>により、指定したパッケージ内を検索し、@repositoryしたJpaRepositoryをBeanとして自動登録するようになるのです。このため、個別に<bean>を用意する必要はありません。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

<?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:jpa="http://www.springframework.org/schema/data/jpa"
    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans.xsd 
        http://www.springframework.org/schema/jdbc 
        http://www.springframework.org/schema/jdbc/spring-jdbc.xsd  
        http://www.springframework.org/schema/data/jpa 
        http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">

    <jdbc:embedded-database id="dataSource" type="H2" />

    <bean id="entityManagerFactory" 
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                <property name="generateDdl" value="true" />
            </bean>
        </property>
    </bean>
        
    <jpa:repositories base-package="com.tuyano.libro.db" />
    
    <bean id="transactionManager"
        class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>
</beans>
※関連コンテンツ

「初心者のためのSpring Framework入門」に戻る