ここ↓のSpring Frameworkの特集で、
・今必要な人のための速習Spring Framework---目次 - 今必要な人のための速習 Spring Framework:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20070717/277593/?ST=develop
ここのJavaサンプルプログラムを動かしてみたく、
・第2回 柔軟性/保守性を高めるDI機能 - 今必要な人のための速習 Spring Framework:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20070718/277686/?ST=develop&bottom&P=2
Eclipseで環境を整えようとしましたが、Eclipse的に何をどうしたら良いのか?よくわからず、右往左往したので覚え書きとしてメモしておきます。 まぁITProのサンプルの例えというか、メイドさんとかお嬢様の設定には、疑問を抱く所ではありますが、Bean定義ファイルがどのように関与しているか知るのに、細かい事はさておき。。
結局、EclipseでSpring Frameworkを扱う(上記サンプルを動かす程度)には、しかるべきjarファイルをビルドパスに通せば良いだけの話なのですが、最新版だとどのjarファイルを通せば良いのかよくわからなかったり、いやjarファイルだけ取ってこなくてもよくね?とか、公式のチュートリアルの動画を見ると、一番指示されてるコメントに「時間の無駄!」(英語)と書いてあるぞwwなど、何を信じれば良いのと。。
まぁ公式で探すのが良いのでしょうが、英語のドキュメントをスラスラともいけないので、見つけた限りです。
Jarファイルだけを入手する場合
まず、上記サンプルを動かすなら、ここが手っ取り早いと思います。
・Spring IDE
http://www.vaannila.com/spring/spring-ide-1.html
英語のサイトですが、キャプチャが細かく貼ってあるので、読めなくても実装できると思います。というか、最後のSource + Libのリンクから一式ダウンロードして、libディレクトリに入っているjarファイルをビルドパスに通せば、ITProのサンプルを実行可能です。
jarファイルごと提供&解説なので、実装しやすいです。他の解説ではspring.jarファイルなる万能jarファイルがあって、それをビルドパスに通せば良い!DLはこちらからだ!(どこだよw?)というのが、見受けられますが、昔はまるごと収めたjarファイルとして提供されていたようですね。
Spring Tool Suite (STS)を入手する場合
現在はどうなっているかというと、Windows環境で言えば、installer.exeが提供されてます。インストーラーとはなんぞ?って話ですが、これを実行するとEclipseベースのSpring統合開発環境がインストールされます。まぁWeb系で言えばAptanaみたいなもんだと思います。
・SpringSource.org |
http://www.springsource.org/
個人情報の入力を強制されたりと面倒です。全項目を入力して、「Download Now!」ボタンを押すと、
Windowsユーザなら、.exeとあるのクリックすればダウンロードが始まります。他のユーザさんはよくわかりません。。
インストールは特に問題がなかったと思うので、割愛します。インストールが完了して起動すると、まぁEclipseを起動する要領ですね。ワークスペースを指定を求められるので指定して起動。
まぁこれが結構、メモリをガツンと喰っていただいて。。
で、目的は冒頭のITProのサンプルプログラムですので、早速プロジェクト作成!
Spring Projectというのもあるのですが、こちらはまた別途jarファイルを入手しなくちゃいけないので、「Spring Template Projcet」を選択。
「Simple Spring Batch Projcet」を選択してNext押下。初回だけDLか何かで少し時間がかかったように思います。
Project nameとtop-level packageの名前を適当に入力してFinish押下。いろいろと自動的にファイルが作成されます。
赤の四角い×でなんかエラーが出てるっぽい。。このあたりまだ何なのかよくわかってませんが、クラスファイルを作成すると赤の四角い×は消えます。
クラスファイルは(いつもEclipseでやってるように)com.hogehoge.myapleパッケージ配下に普通に作成すれば良いです。
で、パッケージファイル名がcom.hogehoge.myaplなので(ITProでは単に”sample”)、以下のように、Bean定義ファイルを作成します。
Package Explorerのsrc/main/java上で右クリック⇒New⇒Spring Bean Configuration Fileで作成します。
中身はITProのものと同じでOKです。次にMain.javaのClassPathXmlApplicationContextのファイルの設定は、 ITProのリスト5(1)の記述ですが、
new ClassPathXmlApplicationContext("applicationContext.xml");
に変更。上記の位置にBean定義ファイルを作成したので、パッケージ名は削除ということです。で、Package Explorerは以下のように。
最初に自動生成されたファイル類はノータッチです。(微妙にクラス名とか変えてますが気にしないでください。。あ、もちろん、クラス名変えたらBean定義ファイルとかも修正してね!その前にエラー出ると思うけど。。)
中身ができたら、RUNボタンを押下します。
どっちで実行するか求められるので、
「AspectJ/Java Application」を選択してOKボタンを押下します。
2011-11-25 16:21:47,023 INFO [org.springframework.context.support.ClassPathXmlApplicationContext] - <Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@913750: startup date [Fri Nov 25 16:21:47 JST 2011]; root of context hierarchy>
2011-11-25 16:21:47,148 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - <Loading XML bean definitions from class path resource [applicationContext.xml]>
2011-11-25 16:21:47,726 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] - <Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@d19bc8: defining beans [carImpl,person]; root of factory hierarchy>
お嬢様:明日はNissan GT-R!!に乗るべーー
System.out.printlnに出力される文字をいぢったので、ITProの出力結果と異なりますが、このようにエラー無しにコンソールへ出力されます。
Eclipse IDE for Java Developers上でプラグインとして入手する
上記でインストールしたSpring Frameworkに最適化されているSpring Tool Suiteを使う方が良いのでしょうが、エディタのバックカラーが黒とか、末尾の空白を除去やFTP機能など、使い慣れたプラグインが入ってるEclipse上の方が都合が良い場合もあるかもしれません。
EclipseのHelp ⇒ Install New SoftwareでInstall画面のAddボタンを押下します。Nameに適当な名前を入れ、Locationに
http://dist.springsource.com/release/TOOLS/update/e3.7
と入力します。そうすると、インストール候補が表示されるわけですが、
jarファイルが見つからないとかエラーが出たりしたので、この辺りどれが必要でどれが不必要なのか、解析しきれてません。とりあえず全部で、エラーが出るものだけ除けば良いというアバウトで。。申し訳ないのですが。。
インストールが完了すると、リスタートを要求されるのでリスタートでEclipseを再起動。インストールが完了すれば、About Eclipseにアイコンが表示されてます。
プロジェクトの作成は、Package Explorer右クリック⇒New ⇒ ProjectでNew Projectダイアログを表示させ、
SpringSource Tool SuiteからSpring Template Projectを選択します。以降は「Spring Tool Suite (STS)を入手する場合」と手順は同じです。
手探り感たっぷりなので、もっと良いやり方があったらコメントくださいな。
コメント
コメントを投稿