supersample Spring

読了

第四章の「e-ラーニングシステムを作ろう」は、Springを利用したリッチクライアント型のアプリケーションのサンプルが掲載されていましたが、Swingの知識がほとんど皆無だったので、読み流す程度にしました。デザインパターンのComposite PatternやCommand Pat…

3-7 商品編集画面を作ろう(マスタ管理編)

前節に引き続き、この節でもStrutsを使ったサンプルが掲載されています。この節では、StrutsのActionクラスもDIコンテナで管理する手法が述べられています。前節では、BeanをAction内で利用するためには、ActionSupportクラスを継承して、AplicationContext…

3-8 ログイン画面を作ろう(マスタ管理編)

この節では、既存のコードには手を入れずにセキュリティ機能を実装する方法が述べられています。そんなことが可能なのかと思って読み進めていたら、本当にログインのビューとセキュリティ用の設定ファイルを用意するだけで、認証機能が実装されてしまい、と…

3-5 ショッピングサイトを作ろう

第三章のこれまでの節で断片的に実装してきた機能が、この節で統合されます。基本的な画面遷移は、htmlタグの中で指定されたURLを、HandlerMappingを使ってコントローラに振り分ける仕組みになっています。セッションには、ユーザーオブジェクトとカートオブ…

3-6 商品カタログを作ろう(マスタ管理編)

この節では、SpringMVCではなく、Strutsが利用されています。strutsについては、その概要すら知らない状態なので、この節の内容だけではキャッチアップ不可能でしたが、アクションとロジックの依存度を軽減するためにSpringのDIコンテナを利用することができ…

3-1 商品一覧画面を作ろう

第三章「Webショッピングアプリケーションを作ろう」に入りました。SpringMVCがどういうものなのかという点を中心に、読み進めていきたいと思っています。 まず最初の節では、DBから取得したデータを表示するだけの単純なプログラムが紹介されています。Spring…

3-2 商品詳細画面を作ろう

この節では、SpringMVCを用いて画面遷移を表現する方法が述べられています。リクエストURLとコントローラをマッピングする方法や、ビジネスロジックを終えた後にビューへ指示を出す方法など、サーバー上で行なわれている処理がより具体的に見えてきました。 …

3-3 ログイン画面を作ろう

この節では、入力フォームに入力されたデータをサーバー上でどのように扱うのかということを、SimpleFormControllerクラスを用いて説明されています。SpringMVCのコントローラとしてSimpleFormControllerを使うと、フォームに入力された値からサーバーのオブ…

3-4 ユーザー登録機能を作ろう

この節では、前節で登場したSimpleFormControllerクラスについて詳しく解説されています。GETリクエスト/POSTリクエストそれぞれの処理フローと、このクラスが提供しているコールバックメソッドの役割について述べられているP268付近の説明は、前節に取り組…

2-6 チケットを予約しよう

この節では、トランザクションの管理をAOPの概念を利用して実装する方法が例示されています。データベースへアクセスするアクションが増えてくると、そのそれぞれのアクションに対して、コミットやロールバックの手続きを書くという手間が増えてきますが、AO…

2-4 チケット情報を表示しよう

この節からはO/RマッッピングツールのHibernateを使用したサンプルが掲載されています。マッピングの設定が面倒くさそうですが、それさえやってしまえば、データクラス自体はすっきりします。Middlegenというツールも興味深いので、近々試してみようと思って…

2-5 予約を取り消そう

前節に続き、Hibernateを用いて更新や削除処理を行なう手法が説明されています。HibernateTemplateクラスのメソッドを呼び出すだけで、具体的なSQL文を書くことなくデータベースに反映されるということですが、P165のコラムの「永続オブジェクト」や「一時オブ…

2-1 チーム一覧を作ろう

第二章は「データベースを利用したアプリケーションを作ろう」ということなので、まずは、MySQLを使えるよう準備を行ないました。以前購入した「Leopard UNIX的システム構築」という本に、MySQLの導入方法が書かれていたので、それを参考にしながらセットアップ…

2-2 選手登録をしよう

この節では、Insert処理ができるように機能追加する過程で、データベースアクセスに関する様々なインターフェースやその実装クラスが登場してきます。データそのものとデータベースアクセスを分離する手法や、RDBMS操作自体もSpringが提供しているインターフ…

2-3 一覧から選手情報を変更・削除しよう

この節では、UpdateやDeleteに相当する機能が追加されていきます。MappingSqlQueryクラスやSqlUpdateクラスを利用することで、SQL文とBind変数のセットからSQL実行、ResultSetをWhileで回してリソースを解放する、という一連の処理をまとめて書く必要がなく…

1-3 Beanのライフサイクル

この節を通じて、BeanFactoryやgetBean呼び出しで何が行なわれているのかということを垣間見ることができました。BeanクラスにSpringで提供されているインターフェイスを実装することで、getBeanを行なう際に様々な処理を自動的に行なわせることができます。…

1-4 AOP

以前、他のSpring本を読んでAOPの概念に触れた時は、いろんなタイプのAdviceがででてきて、それをウィービングすれば分離されている関心事をターゲットに適用できるらしいということまでしかわからず、実際にそれをどうやって実現するのかということまでは追…

「SpringによるWebアプリケーションスーパーサンプル」

Springフレームワークがどういうものなのか、ということを勉強したいと思っています。それに適しているだろうと思われる本を見つけたので、それを「写経」しながら、いろいろと試行錯誤していこうと考えています。SpringによるWebアプリケーションスーパーサン…

1-1 Hello Spring!

オブジェクトの疎結合・密結合に関する話題が述べられています。FactoryMethodを使っても、オブジェクトの生成は具体的なクラス名を宣言しなければなりませんが、Springの設定ファイルを利用することで、その部分も関連性を薄めることができるとのことです。…

1-2 DIについて

DI(Dependency Injection)についての簡単な概要が述べられています。以前、他の書籍でDIについて触れた時は、あまり理解が進みませんでしたが、本書のように実際に動かせるコードを動かしてみると、理解を深めることができるということを再認識しました。 こ…