美文网首页
SpringBoot + Gradle 入门

SpringBoot + Gradle 入门

作者: 小北街口 | 来源:发表于2018-01-09 10:26 被阅读0次

    一、新建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的包导致其依赖的包没有引入,数据库初始化错误。补齐!!!

    四、在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

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


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

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

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

    七、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已经关闭,导致这些延迟加载的数据访问异常。

    相关文章

      网友评论

          本文标题:SpringBoot + Gradle 入门

          本文链接:https://www.haomeiwen.com/subject/uhejgxtx.html