今、
SpringによるWebアプリケーションスーパーサンプル 第2版を見てる。
そのまとめ。
今、Springでサイトを作ることを考えたとする。
そして、
・ViewはJSPで行うとして
・コントローラー部分は、Springフレームワーク
・SpringDIでモデルを作り
・DBアクセスはSpringJDBC
という構成を選んだとする。
これは、この本のCDのサンプル(Sampleフォルダ)の
shopping3-6に当たると思う。
これを参考に、上記フレームワークで必要なファイルを考えると・・・
こんなかんじ?
■設定関係(プロパティ含む)
○Tomcatの設定ファイル
WEB-INF/web.xml
ここで、サーブレットの指定をする。
servletタグで、
サーブレット名を指定し、
クラスは、org.springframework.web.servlet.DispatcherServlet
を起動させる。
→こうすると、サーブレット名-servlet.xmlが、
(SpringMVCの)Spring設定ファイルとなる
listenerに
クラスorg.springframework.web.context.ContextLoaderListener
を指定する
→こうすると、applicationContext.xmlが、(MVC「以外の」)
Spring設定ファイルになる
---
○Spring設定ファイル1 サーブレット名-servlet.xml
(ここでは)WEB-INF/shopping3-6-servlet.xml
SpringMVCの設定ファイル。HandlerMappingとかViewResolver
などの設定をする。今回はJSPだが、テンプレートエンジンに
velocityの指定をする場合なども、ここ
---
○Spring設定ファイル2 applicationContext.xml
WEB-INF/applicationContext.xml
その他の(主にSpringJDBC)の設定をする
transactionManager、JDBCドライバ、
DBのユーザー、パスワード
メッセージソースなど
---
○各種プロパティ
WEB-INF/classes/*.properties
メッセージソース(ここではApplicationResource.properties)
log4j用(log4j.properties)
画面チェックにBeanValidatorを使う際、このサンプルでは
HibernateValidatorを使っていて、その日本語エラーメッセージ用
ValidationMessages_ja.properties
が、ここでは置かれている
■ソース
○View : JSP
サーブレット名-servlet.xml(shopping3-6-servlet.xml)で
/WEB-INF/jsp/におくと宣言した
JSPファイルがいっぱい
ちなみに、このサンプルでは、c:などのタグがでてくるが、
これは、header.jspにtaglib宣言されていて、それを各JSPが
インクルードしている。
---
○コントローラー
/WEB-INF/srcにソース、classesにクラス。
controllerの下にコントローラークラスがある
---
○ロジック(モデル)
/WEB-INF/srcにソース、classesにクラス。
logicの下に
インターフェース ItemService
その実装 ItemServiceImpl
データ用のクラス Item
がある
---
○DAO(モデル:データアクセス)
/WEB-INF/srcにソース、classesにクラス。
daoの下に
インターフェース ItemDao
その実装 ItemDaoImpl
がある
データ用のクラス(DTO)は、logic.Itemを使っている
こんなかんじかしら。
間違っていたら、ごめん