使用Spring Boot和Doma进行”新”超敏捷的Web开发

首先

Seasar2的许多Java产品,
尤其是SAStruts、S2JDBC和S2DAO将于2016年9月26日停止维护,
因此,在今后使用Java创建Web应用程序时,应该使用哪个框架。

从我调查的情况来看,如果想要实现与Seasar2类似的开发效果,最好选择Spring Boot + Doma。

所以,这些相关的备忘录。(将随时添加修订)

搭建开发环境

    1. JDK

这里使用JDK 8。

从http://www.oracle.com/technetwork/java/javase/downloads/index.html下载并安装。

Spring Tool Suite(以下简称STS)

是在Eclipse中捆绑了用于Spring开发的插件集合。
这里使用版本3.8.1。

从http://spring.io/tools/sts下载并安装。

Doma Tools(Eclipse插件)

有Doma1和Doma2,但这里使用的是Doma2。
在STS启动后,通过[Install New Software]从http://dl.bintray.com/domaframework/eclipse/安装。

Buildship Gradle Integration(Eclipse插件)

在STS启动后,通过[Eclipse Marketplace]安装。
还有一个名为Gradle IDE Pack的选项,但据说明,它将被废弃,因此在这里使用Buildship Gradle Integration。

项目创建和设置

    1. 启动STS。

 

    1. 创建项目。

选择[文件]-[新建]-[Spring Starter项目]。
按照以下指定创建项目。

[名称]:Example
[类型]:Gradle(Buildship)
[打包方式]:Jar
[Java 版本]:1.8
[语言]:Java
[Spring Boot 版本]:1.4.1 (SNAPSHOT)
[依赖]:

Web
DevTools
Tymeleaf
MySQL

其他:保持默认设置

编辑build.gradle文件。

重点:

将输出的Java类和SQL文件的输出目录设置为相同。

processResources.destinationDir = compileJava.destinationDir

为了在编译之前将SQL文件复制到输出目录,反转依赖关系。

compileJava.dependsOn processResources

添加Doma相关的Maven库和依赖关系。

https://oss.sonatype.org/content/repositories/snapshots/
compile(‘org.seasar.doma.boot:doma-spring-boot-starter:1.1.0’)
domaGenRuntime(‘org.seasar.doma:doma-gen:2.12.1’)

创建domGen任务。

配置示例:

https://gist.github.com/cacarrot/7bfa164511f1b461605c686d43446c22

配置项目。

获取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编译器]-[注解处理]中指定以下内容。

[启用项目特定设置]:勾选
其他:保持默认设置

在[Java编译器]-[注解处理]-[工厂路径]中指定以下内容。

[启用项目特定设置]:勾选
使用[添加JAR文件]添加Doma库

{项目名称}/lib/doma-2.12.0.jar

其他:保持默认设置

通过Doma-Gen的DAO和Entity自动生成

    1. 在事前通过STS的[Window]-[Show View]菜单中显示[Gradle Tasks]视图。

 

    1. 在[Gradle Tasks]视图中右击项目,选择[Create Gradle Run Configuration]。

 

    1. 填写以下内容后点击OK。

名称:随意的名称(例如:Example – domaGen)
Gradle Tasks:domaGen(在build.gradle中定义的任务名称)

运行保存的配置后,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

请参考以下网址。

Doma関連

http://doma.readthedocs.io/ja/stable/
http://doma-gen.readthedocs.io/ja/stable/

Spring Boot関連

http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/
http://jsug-spring-boot-handson.readthedocs.io/en/latest/index.html

广告
将在 10 秒后关闭
bannerAds