アットウィキロゴ

トップページ

はじめに


このサイトは、Spring Frameworkを0からマスターするまで、メモを残しておきます。
あくまで、メモベースなので、これからSpring Frameworkをマスターする人にはお勧め

環境準備


1.環境変数にHOMEを追加する。具体的には、[コンピュータ]-[プロパティ]-[システムの詳細設定]-[環境変数]で行う。
  自分のユーザディレクトリでもよい。
2.http://mergedoc.sourceforge.jp/より、「Pleiades All in One 4.2.1 Java Full Edition x64」をダウンロードし、D:\pleiades\にインストール
3.ecpliseを起動し、workspaceをD:\pleiades\workspaceを指定する。
4.[ヘルプ]-[Eclipseマーケットプレイス]-[SpringSource Tool Suite]をインストール

Spring MVCでHello Worldの作り方


1.[ファイル]-[新規]-[Spring]-[Spring Template Project]-[Spring MVC Project]を選択
2.プロジェクト名を「springmvc_helloworld」、パッケージ名を「jp.sample.spring_mvc.helloworld」
  ※パッケージ名は、会社のドメインを逆転させ、その下に名前を付けるのが一般的
3.パッケージ・エクスプローラーで、右クリックで[実行]-[サーバーで実行]-[Apache Tomcat v7.0]を選択し、
  Tomcatインストール・ディレクトリを、D:\pleiades\tomcat\7.0に指定し、サーバ実行する。
  ※[ウィンドウ]-[ビューの表示]-[その他]-[サーバー]を選択すると、tomcatを起動、停止ができる。
4.http://localhost:8080/spring_helloworldで実行すると、Hello Worldが表示される。

Spring BatchでHello Worldの作り方


1.[ファイル]-[新規]-[Spring]-[Spring Template Project]-[Simple Spring Batch Project]を選択
2.プロジェクト名を「springmvc_helloworld」、パッケージ名を「jp.sample.spring_mvc.helloworld」
3.パッケージ・エクスプローラーで、右クリックで[実行]-[Maven clean]、[Maven install]でjarを作成
  ※cleanをしないと、jarが見つからない状態になる。
4.パッケージ・エクスプローラーで、右クリックで[実行]-[実行の構成]を開き、
  [Javaアプリケーション]-[CodeSwitcher]で、以下の設定を行い、実行を押すとHello Worldが表示される。
  ・メイン・クラス=org.springframework.batch.core.launch.support.CommandLineJobRunner
  ・プログラムの引数=classpath:/launch-context.xml job1
5.コマンドラインから実行する場合は、パッケージ・エクスプローラーで、右クリックで[実行]-[実行の構成]を開き、
  [Maven install]を実行する。その後、pom.xmlを修正し、jar→warに変更して、再度[Maven install]を実行。その後は、以下のコマンドに従う。
cd D:\pleiades\workspace\springbatch_helloworld\target\classes
copy ..\spring-batch-simple-2.0.0.CI-SNAPSHOT.jar .
set set classpath=D:\pleiades\workspace\springbatch_helloworld\target\spring-batch-simple-2.0.0.CI-SNAPSHOT\WEB-INF\lib\*;D:\pleiades\workspace\springbatch_helloworld\target\classes\*
java org.springframework.batch.core.launch.support.CommandLineJobRunner /launch-context.xml job1
  ※実際の環境に合わせて、classpathおよびlunch-context.xmlのパスを修正する。

[Spring Batch]log4jの使い方

ログの出力方法をコントロールし、log4j.propertiesを変更することにより、ログの出力方法を変更することができる。
エラーレベルは、DEBUG, INFO, WARN, ERROR, FATALの5つがあり、パッケージレベルで指定可能。
# コンソールへログを出力(デフォルトの指定)
log4j.rootCategory=ERROR, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <%m>%n
# ログファイルへ出力(D:\test.logへ10MBで分割、最大50ファイル)
log4j.rootCategory=ERROR, fileout
log4j.appender.fileout=org.apache.log4j.RollingFileAppender
log4j.appender.fileout.File=D:/test.log
log4j.appender.fileout.MaxFileSize=10MB
log4j.appender.fileout.MaxBackupIndex=50
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.conversionPattern=%d{yyyy/MM/dd HH:mm:ss.SSS} [%p] - %m%n
# DBへ出力(oracleのLOG_TABLEへ出力)
log4j.rootCategory=ERROR, dbout
log4j.category.com.fc2web.himtodo.test=DEBUG, TEST
log4j.appender.dbout=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.dbout.URL=jdbc:oracle:thin:@127.0.0.1:1521:TEST
log4j.appender.dbout.user=test
log4j.appender.dbout.password=test
log4j.appender.dbout.driver=oracle.jdbc.driver.OracleDriver
log4j.appender.dbout.bufferSize=1
log4j.appender.dbout.layout=org.apache.log4j.PatternLayout
log4j.appender.dbout.layout.conversionPattern=INSERT INTO LOG_TABLE VALUES ('%d{yyyy-MM-dd HH:mm:ss.SSS}', '%p', '%m' )
# 実行した結果のみ出力する。
log4j.rootCategory=ERROR, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%m
log4j.logger.jp=INFO
# 他にも、Unix Syslog デーモン、NT イベントログへ出力が可能。

[Spring Batch]Mavenでpostgresを追加し、DBとの連携を行う。


SpringBatchでは実行状態を保存するために、DBを使用する。そこで、postgresのJDBCをmavenで追加し、
batch.propertiesを設定する。
 ※この設定をすると、毎回パラメータ(date=2012/1/1 name=1など)を変更しないと実行できなくなるので、要注意。
  強制実行する場合は、引数に-nextを入れる。
1.postgresインストール後、pgAdminから新しいデータベース(springbatch)を作成する。
2.パッケージ・エクスプローラーで、右クリックで[Maven]-[依存関係の追加]を開く。
3.パターン(*)の入力で、「postgres」を入力すると、検索結果に「postgres postgres」が出てくるので、
  その中から最新版を選択し、[OK]を押すと、postgresのJDBCドライバが追加される。
4.batch.propertiesを以下のように書き換え、バッチプログラムを実行すると、DBにテーブルが作成される。
batch.jdbc.driver=org.postgresql.Driver
batch.jdbc.url=jdbc:postgresql://localhost:5432/springbatch
# use this one for a separate server process so you can inspect the results
# (or add it to system properties with -D to override at run time).
# batch.jdbc.url=jdbc:hsqldb:hsql://localhost:9005/samples
batch.jdbc.user=postgres
batch.jdbc.password=<postgresで指定したパスワード>
batch.schema=
batch.schema.script=classpath:/org/springframework/batch/core/schema-postgresql.sql
5.2回目以降の実行で、テーブル作成は不要であるため、launch-context.xmlの以下の項目をコメントアウトする。
<!--
	<jdbc:initialize-database data-source="dataSource">
		<jdbc:script location="${batch.schema.script}" />
	</jdbc:initialize-database>
-->
最終更新:2012年11月21日 16:46