JavaのWebアプリケーション開発フレームワークによる、Webサイト開発の顛末記です。

EclipseのMavenを使った、Spring-MVC、Thymeleaf、MyBatis 等のプログラミングテクニックを、
備忘録的に記録しています。実際に動くソースコードを多用して説明していますので、
これからEclipseや、Spring-MVCを始めたいと思っている人にとって、少しでも参考になれば幸いです。
Spring-MVCの散歩道 > Spring Boot の小径 > 第4歩 Spring Boot 匍匐前進 > MyBatisによるDB連携

buildscript {
    ext {
        springBootVersion = '1.4.4.RELEASE'
        //springBootVersion = '1.3.8.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse-wtp'
apply plugin: 'spring-boot'
apply plugin: 'war'

war {
    baseName = 'bootLabo'
    version = '1.0'
}

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

configurations {
    providedRuntime
}

dependencies {
    [
        //以下のライブラリは、依存関係でlogbackをインポートするので
        //このライブラリからlogbackの依存を排除します。
        'org.mybatis.spring.boot:mybatis-spring-boot-starter:1.2.0',
        'org.springframework.boot:spring-boot-starter-web',
        'org.springframework.boot:spring-boot-starter-aop',
        //spring-boot-starter-thymeleaf は、Thymeleaf2.x系なのでやめる
        //下で別途、Thymeleaf3.x系を取り込む
        //'org.springframework.boot:spring-boot-starter-thymeleaf',
        'org.springframework.boot:spring-boot-configuration-processor'
    ].each { dep ->
            compile(dep) {
                //上記のライブラリから、logbackの依存を排除する(logback)を無効にする
                exclude module: 'spring-boot-starter-logging'
                exclude module: 'logback-classic'
                //その他不要な依存を排除する(logback)を無効にする
                exclude module: 'h2'
                exclude module: 'tomcat-jdbc'
            }
        }

    //TEST
    [
        //テスト用boot-starter もlogbackに依存しているのでこちらも無効化
        'org.springframework.boot:spring-boot-starter-test'
    ].each { dep ->
            testCompile(dep) {
                //logback依存を排除する
                exclude module: 'spring-boot-starter-logging'
                exclude module: 'logback-classic'
            }
        }

    compileOnly('org.postgresql:postgresql:9.3-1104-jdbc41')
    providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')
    compile('org.projectlombok:lombok:1.16.12')
    //Log4j2 ライブラリを追加
    compile('org.springframework.boot:spring-boot-starter-log4j2')
    //tomcat-dbcp ライブラリを追加
    providedRuntime('org.apache.tomcat:tomcat-dbcp:8.0.39')
    //上はbuildエラーとなるので providedRuntime⇒compileOnly に変更
    compileOnly('org.apache.tomcat:tomcat-dbcp:8.0.39')
    //JSONパーサー GSON ライブラリを追加
    compile('com.google.code.gson:gson:2.6.1')
    //Thymeleaf3.x系 ライブラリを追加
    compile('org.thymeleaf:thymeleaf:3.0.2.RELEASE')
    compile('org.thymeleaf:thymeleaf-spring4:3.0.2.RELEASE')
}