※当サイトの記事には、広告・プロモーションが含まれます。

Spring Frameworkの構造

8月になってしまいました、熱中症には気を付けましょう。

Spring Frameworkについてすこしづつメモしていきたいと思います。

Spring Frameworkwikipediaの説明によると、

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークである。単に Spring とも呼ばれる。
Rod Johnson が自著 Expert One-on-One J2EE Design and Development(Wrox Press、2002年10月)と共にリリースしたのが最初である。
.NET Framework 向けの移植版もある。
2006年、Spring Framework 1.2.6 は Jolt productivity award を受賞した。

と、14年ぐらいの歴史があるようです。

現在はSpring Framework4までのバージョンがあるみたいです。(2016年8月時点) 

Javaフレームワークには

などがあるようです。

2018年8月24日(金)追記:↓  ここから

通りすがりさんよりご指摘をいただき、JAX-RSは、Javaフレームワークではなく、Webフレームワークということで修正いたしました。

JAX-RSとは

JAX-RS入門および実践

 

eng-entrance.com

⇧  最近のJavaフレームワークの動向については、上記サイト様が詳しいです。 

2018年8月24日(金)追記:↑  ここまで

 

  最近のJavaフレームワークの動向については下記サイトへ

テックノート - 2015年のJavaフレームワークのトレンド

 

Spring Frameworkの構造

Spring Frameworkのリファレンスによると、 

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/

f:id:ts0818:20160806000251p:plain

図のようなかたまりがSpring Frameworkの全体像になるようです。

20個ぐらいのモジュールで構成されていて、それぞれ、

  • Core Container
  • Data Access/Integration
  • Web
  • AOP(Aspect Oriented Programming)
  • Instrumentation
  • Messaging
  • Test

といったグループに分けられているようです。

これらをすべて使う必要はなく、自分の手がけるプロジェクトで必要になりそうなものを随時、導入していくような感じで開発をしていくようです。

STS(Spring Tool Suite)を使う前に、Javaのプログラムの特徴

Javaでプログラムを動かす場合、JavaVM(Java Virtual Machine)、いわゆるJava仮想マシンを起動させる必要があり、下記のメソッドを持つクラスが絶対に必要みたいです。

public static void main(String args[]);   

このメソッドを、

public static void main(String args[]){  
  // ここに処理を記述
}

のように記述することで、JavaVMが起動して、Javaのプログラムが実行されるようです。そして、今回は、自分では『public static void main(String args)』を書かないプロジェクトを作成します。

代わりに『public static void main(String args)』を実行してくれるのが、アプリケーションサーバというものみたいです。

『Spring Framework4 プログラミング入門(著:掌田津耶乃)』で、STSを使ってプロジェクトを作成した際に思ったことは、

の2パターンがあるようです。 

アプリケーションサーバ

Javaでは、TomcatGlassFishが有名みたいです。

Webサーバ

Apache、nginx 、IIS(Internet Information Services)の3つが有名みたいです。

Javaでは、Webページをサーバ上で処理するために、『Java Servlet』というクラスが用意されていて、このクラスを処理するのが『Servletコンテナ』というもので、その内の1つがTomcatというもののようです。

サーブレットコンテナservlet containerServletコンテナ / Webコンテナ
Web container / ウェブコンテナ

サーブレットコンテナとは、Javaサーブレットservlet)の実行環境となるソフトウェア

サーブレットWebサーバ上で動作させるJava言語で書かれた簡易なプログラムで、クライアントWebブラウザなど)からの要求を受けて処理を行い、結果をWebページとして送信する。サーブレットは単体では動作せず、Webサーバからの処理要求を受け付けてサーブレットの記述に従って実際の処理を行うソフトウェアが必要で、これをサーブレットコンテナという。

Java EEの一部として仕様が決まっており、著名な実装としてはTomcatJBoss、Jetty、WebLogic ServerWebSphere Application Serverなどがある。

JavaでWebアプリを実行するには、Servletコンテナ(Tomcatなど)が必要なのですが、STSには、デフォルトで『VMWare vFabric tc Server Developer Edition』というサーバが用意されていて、このサーバでWebアプリが実行できるようです。

STS(Spring Tool Suite)でWebのプロジェクトを作成してみる

C:¥sts-bundle¥sts-3.7.3.RELEASE¥STS.exe(自分のSTSをインストールした場所)で、STS.exeをダブルクリックでSTSを起動します。

f:id:ts0818:20160806031104j:plain

『ファイル』>『新規』>『Spring Legacy Project』を選択します。

f:id:ts0818:20160806031105j:plain

『プロジェクト名』を「MySampleWebApp」(プロジェクト名は何でもOK)とし、『テンプレート』で「Simple Spring Web Marven」を選択し、『完了』をクリックします。

f:id:ts0818:20160806031106j:plain

『パッケージ・エクスプローラー』の『プロジェクト(MySampleWebApp)』上で右クリックし、『Maven』>『プロジェクトの更新』を選択します。

f:id:ts0818:20160806031108j:plain

『MySampleWebApp』を選択し、『OK』をクリックします。

f:id:ts0818:20160806031109j:plain

『実行』>『Maven install』を実行します。

f:id:ts0818:20160806031031p:plain

『コンソール』に『BUILD SUCCESS』とか表示されればOK。

『コンソール』自体が出ていない場合は、『ウィンドウ』>『ビューの表示』>『コンソール』を選択で、『コンソール』のウィンドウが出ます。

f:id:ts0818:20160806031110j:plain

サーバで実行するために、サーバにプロジェクトを追加します。

VMWare vFabric tc Server Developer Edition』上で右クリックし、『追加および除去』を選択します。

f:id:ts0818:20160806031032p:plain

『MySampleWebApp』を選択した状態で『追加』をクリックします。

f:id:ts0818:20160806031033p:plain

『構成済み』に『MySampleWebApp』が移動すればOK。『完了』をクリックします。 

f:id:ts0818:20160806031034p:plain

サーバを起動します。

f:id:ts0818:20160806031035p:plain

地球のアイコンをクリックでSTS内でブラウザを起動できます。直接パソコンのブラウザを起動でもOK。アドレスバーに『http://localhost:8080/MySampleWebApp』と入力し『Enterキー』を押し、『Click to enter』と表示されればOK。

f:id:ts0818:20160806031036p:plain

サーバを停止します。

f:id:ts0818:20160806031037p:plain

サーバが停止しました。

f:id:ts0818:20160806031038p:plain

 

今回はこのへんで。