XenonAbe / dbflute-play-guice-java-example

DBFlute + Play Framework 2 + Guice + Spring Transaction Management

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DBFlute Play Framework 2 Example

DBFlutePlay Framework 2.6.x 上で 使用するサンプルです。

Overview

  • O/RマッパーにDBFluteを使用
  • Web FrameworkにPlay Frameworkを使用
  • Spring FrameworkTransaction Managementを使用。メソッドへの@Transactionalアノテーション(see Reference)の付加や、TransactionTemplate(see Reference)を使用したトランザクション制御を行うことができる。混在も可能。基本的な、通常実行時にはCommit、例外発生時にRollbackする動作の他、柔軟なトランザクション制御(e.g. Transaction propagation)が可能
  • コネクションプールにPlay Framework組み込みのHikariCPを使用
  • Dependency InjectionライブラリにPlay Framework組み込みのGoogle Guiceを使用

How to run

Run this using sbt. (see Installing sbt)

Start the Play app:

sbt run

And open http://localhost:9000/

How to test

テストを実行します

sbt test

test.functional.TransactionTestServiceクラスに多様なトランザクション処理の記述例があります

その他

サブプロジェクト

DBFlute関係(DBFluteクライアント、エンジン、生成ソース)をサブプロジェクトとしてメインプロジェクトと分離しています (dbfluteディレクトリ)

ログ出力

Play Framework デフォルトのログ出力は非常にシンプルですが、このサンプルではActionやTransactionの開始・終了、実行SQLがログで確認出来るよう設定しています

非同期処理

データベース処理用のカスタムExecutionContextを使用した非同期処理のサンプルがあります

参考リンク

謝辞

サンプルの動作は play-java-forms-example および play-java-starter-example を参考にさせていただきました。

About

DBFlute + Play Framework 2 + Guice + Spring Transaction Management

License:The Unlicense


Languages

Language:Java 49.0%Language:XSLT 29.1%Language:HTML 9.3%Language:Batchfile 5.2%Language:Shell 3.4%Language:CSS 1.8%Language:Perl 1.3%Language:Python 0.4%Language:Scala 0.2%Language:Roff 0.0%Language:JavaScript 0.0%