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入門」に戻る