SpringBoot + Gradle 入门

一、新建Gradle项目,不是Spring Inelize

二、补全build.gradle文件如下

buildscript {

    ext {

        springBootVersion = ‘1.4.2.RELEASE’

    }

    repositories {

        mavenCentral()

    }

    dependencies {

        classpath(“org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}”)

    }

}

apply plugin: ‘java’

apply plugin: ‘idea’

apply plugin: ‘org.springframework.boot’

group = ‘com.zhuang’

version = ‘0.0.1-SNAPSHOT’

sourceCompatibility = 1.7

repositories {

    maven{

        url ‘http://maven.aliyun.com/nexus/content/groups/public’

    }

}

dependencies {

    compile(“org.springframework.boot:spring-boot-starter-data-jpa”)

    compile(“org.springframework.boot:spring-boot-starter-web”)

    compile group: ‘org.aspectj’, name: ‘aspectjweaver’, version: ‘1.9.0.RC2’

    compile(“org.springframework.boot:spring-boot-starter-actuator”)

    compile(“mysql:mysql-connector-java”)

    testCompile(“org.springframework.boot:spring-boot-starter-test”)

}

三、新建Application文件    【注:不能位缺省包】

@SpringBootApplication

public class Application {

        public static void main(String[] args){

                SpringApplication.run(Application.class,args);

           }

}

Bug 1: 以下错误都是因为引入了JPA的包导致其依赖的包没有引入,数据库初始化错误。补齐!!!

《SpringBoot + Gradle 入门》

《SpringBoot + Gradle 入门》

四、在resource文件夹下创建application.yml文件并配置相关项目信息

server:

  port: 8081

  session-timeout: 5

#  context-path: /demo

spring:

datasource:

    url: jdbc:mysql://127.0.0.1:3306/world?useSSL=false

driver-class-name: com.mysql.jdbc.Driver

username: Damon

password: damon

jpa:

hibernate:

        ddl-auto: update

show-sql: true

# 自定义项目变量用于使用,见TestController

developer: ZHAUNG

五、数据库整合,连接数据库

Bug 2:SSL Connection

《SpringBoot + Gradle 入门》

数据库连接地址:jdbc:mysql://127.0.0.1:3306/world?useSSL=false

Bug 3:不能用root用户?改用其他用户可以

《SpringBoot + Gradle 入门》

六、数据库整合,操作数据库

Bug 4:springBoot不能根据entity自动创建数据表

《SpringBoot + Gradle 入门》

七、Repository只能在interface中extends,实现类中出错

repository接口无需实现类!雷同于mybatis中一个dao数据传输层,用xml文件做实现类

八、懒加载session异常

懒加载异常:org.hibernate.LazyInitializationException: could not initialize proxy – no Session

@JsonIgnoreProperties(value={“hibernateLazyInitializer”,”handler”,”fieldHandler”}) 加在entity类

这是一个lazy使用后的Exception,使用迟时加载,在session(hibernate里的session),关闭后使用该对象的未加载变量,也就是说session已经关闭,没有保存到内存中,然后你使用了,导致该异常。

在Java Web项目中使用Hibernate经常会遇到LazyInitializationException。这是因为controller和model层(java代码)将通过JPA的一些启用了延迟加载功能的领域(如用getRefrence()方法或者在关联关系中采用fetch=FetchType.LAZY)返回给view层(jsp代码)的时候,由于加载领域对象的JPA Session已经关闭,导致这些延迟加载的数据访问异常。

    原文作者:小北街口
    原文地址: https://www.jianshu.com/p/81bf570374c1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞