美文网首页
使用Spring boot开发新服务

使用Spring boot开发新服务

作者: 63e29c663713 | 来源:发表于2016-06-19 22:03 被阅读338次

    口袋最近要开发一个新项目,由于没有历史债务,决定使用一些相对新的框架和特性来进行开发:Spring boot & Gradle & YAML & MyBatis-spring-boot(annotation).

    Spring boot

    Spring boot 的目的是用来简化新Spring应用的初始搭建以及开发过程,使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

    同时结合使用YAML,不在使用繁琐难读的XML文件。

    Spring Boot天生和Groovy结合紧密,它提供的很多便捷功能,并可用来编写Gradle构建文件,简洁清晰。

    为了简化依赖图,Boot的功能是模块化的,通过导入Boot所谓的“starter”模块,可以将许多的依赖添加到工程之中。常用的starters有:

    • spring-boot-starter-actuator : 引入一组基本的Spring项目
    • spring-boot-starter-web : 对于web开发,提供启动嵌入式Tomcat容器的自动化配置,并且提供对微服务应用有价值的端点信息,如服务器信息、应用指标(metrics)以及环境详情
    • spring-boot-starter-security : 自动配置Spring Security,提供基本的认证以及其他高级的安全特性

    spring boot 的优点

    • 基于 spring 平台
    • 内嵌了 tomcat、jetty
    • 默认集成了很多的第三方包
    • 提供了默认的 pom 文件,简化 maven 的配置
    • 提供了 health check、security
    • 少量 spring 配置
    • 推荐使用 java-base annotation configuration,而不是大量的 applicationContext.xml
    • 默认支持 logback

    开发过程中踩到的坑

    1. 项目中添加checkstyle.xml文件的同时,需要添加suppressions.xml文件,单纯的在checkstyle中配置下述代码时,提示找不到suppressions.xml。
    <module name="SuppressionFilter">    
            <property name="file" value="/suppressions.xml"/>
    </module>
    

    解决方案:

    // build.gradle
    def configDir = new File(buildscript.sourceFile.parentFile, 'config')
    ext {      
        checkstyleConfigDir = "$configDir/checkstyle"
    }
    checkstyle {
        configFile = new File(checkstyleConfigDir, "checkstyle.xml")
         configProperties.checkstyleConfigDir = checkstyleConfigDir
    }
    
    1. 由于系统需要引入dubbo,dubbo需要使用xml来进行配置,而属性文件是使用yaml来编写,启动服务时,xml文件读取不到yaml中的配置:
    apricotforest:
        dubbo:
            zookeeper: prod.zookeeper-af1:2181
    

    当改为下述代码时,可正常读取:

    apricotforest.dubbo.zookeeper: prod.zookeeper-af1:2181
    

    相关文章

      网友评论

          本文标题:使用Spring boot开发新服务

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