LoginSignup
22
24

More than 5 years have passed since last update.

Spring Boot + Domaによる”新”スーパーアジャイルなWeb開発

Last updated at Posted at 2016-08-17

はじめに

Seasar2 の Java 系の多くのプロダクト、
特に SAStruts,S2JDBC,S2DAO が 2016年9月26日 に End of Life になるということで、
今後新しくJavaでWebアプリケーションを作るときは、どのフレームワークを使えば良いか。

いろいろ調べてみた感じ、Seasar2と同じようにサクサク感のある開発をしたいなら、
Spring Boot + Doma が良さそう。

というわけで、これら関連のメモを。(随時加筆予定)

開発環境構築

  1. JDK
  2. Spring Tool Suite (以降、STSと記載)
    • EclipseにSpring開発用のプラグイン群がバンドルされたもの。
    • ここではバージョン 3.8.1 を使用。
    • http://spring.io/tools/sts からダウンロードしてインストール。
  3. Doma Tools (Eclipseプラグイン)
  4. Buildship Gradle Integration (Eclipseプラグイン)

プロジェクト作成、設定

  1. STSを起動する。
  2. プロジェクトの作成
    • [File]-[New]-[Spring Starter Project]を選択。
    • 以下を指定してプロジェクトを作成。
      • [Name]:Example
      • [Type]:Gradle (Buildship)
      • [Packaging]:Jar
      • [Java Version]:1.8
      • [Language]:Java
      • [Boot Version]:1.4.1 (SNAPSHOT)
      • [Dependency]:
        • Web
        • DevTools
        • Tymeleaf
        • MySQL
      • それ以外:デフォルトのまま
  3. build.gradleの編集
    • ポイント
      • 出力するJavaクラスとSQLファイルの出力先ディレクトリを同じにする
        • processResources.destinationDir = compileJava.destinationDir
      • コンパイルより前にSQLファイルを出力先ディレクトリにコピーするために依存関係を逆転する
        • compileJava.dependsOn processResources
      • Doma関連Mavenリポジトリ、依存関係追加
      • domGenタスク作成
    • 設定例
  4. プロジェクトの設定
    • Domaのライブラリを取得してプロジェクトの/libフォルダに格納しておく。
      • build.gradleに設定した依存関係により、以下のようなパスにダウンロードされているはず。これをコピーして格納。
        • ~/.gradle/caches/modules-2/files-2.1/org.seasar.doma/doma/2.12.0/df98f42d23e149ff699c0ccd2a0997e974a55a14/doma-2.12.0.jar
    • 作成したプロジェクトのプロパティを開く。
      • [Java Compiler]-[Annotation Processing]で以下を指定。
        • [Enable project specific settings]:チェックを付ける
        • それ以外:デフォルトのまま
      • [Java Compiler]-[Annotation Processing]-[Factory Path]で以下を指定。
        • [Enable project specific settings]:チェックを付ける
        • [Add JARs]でDomaのライブラリを追加
          • {プロジェクト名}/lib/doma-2.12.0.jar
        • それ以外:デフォルトのまま

Doma-GenによるDAO,Entity自動生成

  1. 事前にSTSで[Window]-[Show View]から[Gradle Tasks]ビューを表示させておく。
  2. [Gradle Tasks]ビューにてプロジェクトを右クリックし、[Create Gradle Run Configuration]を選択。
  3. 以下を指定してOKを押す。
    • Name:適当な名前(例:Example - domaGen)
    • Gradle Tasks:domaGen(build.gradleに定義したタスク名)
  4. 保存したRun Configurationを実行するとDoma-Genが実行され、DAOとEntity(ソースフォルダ配下)、sql(META-INF配下)が自動生成される。

Spring BootとDomaの連携

  • ポイント
    • doma-spring-boot-starterの設定を利用するには、Doma-Genで生成したDAOに @ConfigAutowireableアノテーションの付与が必要。
      • org.seasar.doma.boot.ConfigAutowireable
    • application.ymlの設定には最低限以下が必要
      • doma.dialect
      • spring.datasource.url
      • spring.datasource.username
      • spring.datasource.password
      • spring.datasource.driver-class-name

参考URL

22
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
24