JpaRepositoryを利用する (2/8)
作成:2015-08-08 10:53
更新:2015-08-08 10:53
更新:2015-08-08 10:53
■Bean設定ファイルを用意する
では、Bean設定ファイルを用意しましょう。先に、dbbean.xmlというファイルを用意していましたね。あれをそのまま書き換えて使うことにします。
下のリスト欄に、修正したdbbean.xmlのソースコードを掲載しておきました。このように内容を書き換えて下さい。
今回は、2つのBean関連タグが追加になっています。まず、JpaRepositoryに関するタグが1つ用意されています。
もう1つは、「トランザクションマネージャ」と呼ばれるBeanです。これは、トランザクションを管理するためのもので、以下のように記述されています。
これで、JpaRepositoryを利用するのに必要なBeanの準備が整いました。「あれ、さっき用意したSampleEntityRepositoryは、Beanとして用意しないの?」と思った人。これは、不要です。<jpa:repositories>により、指定したパッケージ内を検索し、@repositoryしたJpaRepositoryをBeanとして自動登録するようになるのです。このため、個別に<bean>を用意する必要はありません。
下のリスト欄に、修正した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"ここで定義されているのは「transactionManager」という名前のBeanで、classにはJpaTransactionManagerクラスを指定します。他、「entityManagerFactory」という属性がありますが、これは作成するBeanで使用するEntityManagerFactoryを指定します(その上にあるid="entityManagerFactory"をrefで指定してあります)。
class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
これで、JpaRepositoryを利用するのに必要なBeanの準備が整いました。「あれ、さっき用意したSampleEntityRepositoryは、Beanとして用意しないの?」と思った人。これは、不要です。<jpa:repositories>により、指定したパッケージ内を検索し、@repositoryしたJpaRepositoryをBeanとして自動登録するようになるのです。このため、個別に<bean>を用意する必要はありません。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
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入門」に戻る