エンジニアステップ

初心者エンジニア(1年目~3年目くらい)のための技術ブログ

「Java・J2EE・オープンソース Spring入門」の感想

「Java・J2EE・オープンソース Spring入門」という本の感想です。

 

この本は、「Javaは分かる。フレームワークってあると良いよね、でも詳しくわからない」みたいな人にはピンポイントでオススメかも。

※著者のヤル気や、仕事感が伝わってくる感じの本なので、個人的には好きなんですけどね…

 

それ以外の方にとっては、ネットにこういう記事がありますし、Springがあまり使われていない今、あえてこの本を読む必要はないかもしれません。

www.atmarkit.co.jp

 

Webアプリケーションとは何か?

Webアプリケーションについての説明が最初に載っています。親切。

※初心者にはこの本がオススメ↓

www.engineer-step.com

 

ウェブアプリの歴史としては、静的コンテンツ→CGI誕生→JSP、Servlet登場という流れがまずあります。

その後、EJB(Enterprise Java Beans)=「分散処理と分散トランザクションの融合コンポーネント」という技術が登場しました。

さらにその後、DIやAOPが現れます。

・・・みたいな話が初心者向けに書いてあります。こういう基礎を知る意味では良い本です。

 

DI

DI(Dependency Injection)については、下記の記事が分かりやすいです。

DIとDIコンテナを3分で理解する

DI・DIコンテナ、ちゃんと理解出来てる・・?

DIというのはただのパターンの1つです。
たまにDIコンテナとDIを同一視して使ってるのを見ますが、DIはパターン、DIコンテナはDI実現をお手伝いするためのフレームワークです。

 

AOP(アスペクト志向プログラミング)

AOPに関してもこういう記事を読めば分かります。

[ThinkIT] 第5回:AOPとは何か (1/4)

AOPで何ができるのかを一言でいうと、「元のソースコードに変更を加えずに新たな処理を追加すること」となります。

そこで後から追加してもよい処理は、システム内の色々なオブジェクトで共通して利用する処理になります。先ほどの例だと「System.out.println("HelloWorld!")」という処理はシステム内で共通して利用できないため、実開発では追加しては駄目な処理です。トレースログの出力やトランザクション管理などはシステム内で共通して利用できるので後から追加してもよいでしょう。

アスペクト指向ではトレースログの出力とトランザクション管理のように共通で利用でき、元のソースコードを変更せずに追加してもよい処理の総称を「横断的関心事」といい、追加するトレースログ出力やトランザクション管理の処理そのものと、その処理をどこに追加するのかの情報をまとめたものを「Aspect(アスペクト)」といいます。

 

諸々、まとめようと思ったのですが、Web記事で良いのがいくつかあったので割愛しました。これとかもオススメ。

[Java]Spring Frameworkで1年開発したので主要なポイントをおさらいする - atuweb : つながりを作るWebプログラマ