SpringJDBCで作成したDaoとビジネスロジックを連携するには? | Java Springの逆引きメモ

Java Springの逆引きメモ

JavaのSpring frameworkのメモを書いていきます!
初心者の勉強ノートなので間違いがあるかもしれませんが、何かヒントになることがあれば幸いです。

SpringJDBCでDaoを作成したら、ビジネスロジックから呼び出したいです!

これをする方法を見てみます。


やることは単純で、Springの設定ファイルに設定するだけです。



【JavaのDaoクラス】

ここでは、MemberDaoImpl というクラスを作ったとします。

・DBからデータを取得するには?(SimpleJdbcTemplate のサンプル) を参照)



【Javaのビジネスロジックのクラス】

ここでは、MemberServiceImplというクラスを作ったとします。

以下のsetterをクラス内に用意しておきます。

public class MemberServiceImpl implements MemberService{
 private MemberDao memberDao;

public void setMemberDao(MemberDao memberDao) { this.memberDao = memberDao; }

public List<Member> findMember() { List<Member> memberList = this.memberDao.findMember(); return memberList; }

}





【Springの設定ファイル】

<bean id="memberService" class="business.service.MemberServiceImpl">
  <property name="memberDao" ref="memberDao"/>
 </bean>

<bean id="memberDao" class="dao.MemberDaoImpl"> <property name="dataSource" ref="dataSource" /> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="org.postgresql.Driver"/> <property name="url"> <value>jdbc:postgresql://localhost/test?useUnicode=true&amp;characterEncoding=utf-8</value> </property> <property name="username" value="user" /> <property name="password" value="pass" /> </bean>




【説明】

設定は上記のとおりです。

作成したMemberDaoImplをbeanに設定して、

それをさらにMemberServiceImplのmemberDaoプロパティに設定するだけです。



MemberServiceImplクラス内での実際のDao使い方は、見てのとおり!

インスタンスが設定されているものとして、普通に使うだけです。


 List<Member> memberList = this.memberDao.findMember();



これだけです!

インスタンスの生成とMemberServiceImplクラスへの設定はSpringがやってくれます。