zoukankan      html  css  js  c++  java
  • SpringBoot 概念和起步

    一、概念和由来

    1、什么是 Spring Boot

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

    Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式。

    • 内置Tomcat和Jetty容器
    • Starter pom 简化项目配置
    • 大型项目的非功能特性,如:安全、指标、健康监测、外部配置等
    • 没有代码生成和xml配置文件 

    2、内置 Servlet Container

    • tomcat8 + servelt规范3.1
    • jetty9.3+ servelt规范3.1
    • undertow1.3+ servelt规范3.1

    3、开发调试工具

    • SpringBoot DevTools 

    二、创建 gradle 工程

    1、创建 gradle 工程:http://start.spring.io/

    你可以通过 Spring Initializr 来创建一个空的项目,也可以手动创建。

    2、构建工程

    要采用科学上网,否则会慢的让你崩溃的!!

    (1)修改gradle下载地址

    (2)、使用阿里云的maven库

    buildscript {
    ext {
    springBootVersion = '1.5.7.RELEASE'
    }
    repositories {
    //mavenCentral()
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    //maven { url "https://repo.spring.io/snapshot" }
    //maven { url "https://repo.spring.io/milestone" }
    }

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

    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'org.springframework.boot'

    group = 'com.tianhe.example.springboot'
    version = '0.0.1-SNAPSHOT'

    //生成的jar包包名和版本
    jar {
    baseName = 'HelloGradle'
    version = '0.1.0'
    }

    //设置jdk的版本
    sourceCompatibility = 1.8
    targetCompatibility = 1.8

    repositories {
    //mavenCentral()
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    //maven { url "https://repo.spring.io/snapshot" }
    //maven { url "https://repo.spring.io/milestone" }
    }

    [compileJava,compileTestJava,javadoc]*.options*.encoding = "utf-8"

    configurations.all {
    exclude module: 'slf4j-jcl'
    exclude module: 'slf4j-jdk14'
    exclude module: 'slf4j-nop'
    exclude module: 'slf4j-simple'
    exclude module: 'slf4j-log4j12'
    exclude module: 'log4j'
    exclude module: 'commons-logging'
    exclude module: 'commons-logging-api'
    }

    dependencies {

    compile('org.slf4j:slf4j-api:1.7.15') {
    force = true
    }
    compile('org.slf4j:jcl-over-slf4j:1.7.15') {
    force = true
    }
    compile('org.slf4j:log4j-over-slf4j:1.7.15') {
    force = true
    }
    compile('org.slf4j:jul-to-slf4j:1.7.15') {
    force = true
    }

    compile('ch.qos.logback:logback-core:1.1.7') {
    force = true
    }
    compile('ch.qos.logback:logback-classic:1.1.7') {
    force = true
    }

    compile("org.springframework.boot:spring-boot-starter-web")
    compile("org.springframework.boot:spring-boot-starter-thymeleaf")
    compile("org.springframework.boot:spring-boot-starter-data-jpa")
    compile("org.springframework.boot:spring-boot-starter-actuator")

    compile('com.fasterxml.jackson.core:jackson-databind:2.7.4')
    compile('com.fasterxml.jackson.core:jackson-core:2.7.4')
    compile('com.fasterxml.jackson.core:jackson-annotations:2.7.4')

    compile('commons-httpclient:commons-httpclient:3.1')
    compile('org.htmlparser:htmlparser:1.6')

    compile "commons-lang:commons-lang:2.6"
    compile "commons-io:commons-io:2.4"
    compile "commons-codec:commons-codec:1.5"

    runtime("mysql:mysql-connector-java")

    testCompile('org.springframework.boot:spring-boot-starter-test')
    }

    3、前端代码

    4、启动应用

    在IDE中直接直接执行main方法,然后访问http://localhost:8080即可。

    三、附录

    1、thymeleaf Exception parsing document: template="xxxx"错误

    Thymeleaf模板引擎,遇到不闭合标签会报这个错误,很是蛋疼啊。最后发现是自动生成的meta标签没有关闭,太太坑了。 

     

    网上搜来的解决方案:

    (1). 添加maven依赖

    <dependency>
    <groupId>net.sourceforge.nekohtml</groupId>
    <artifactId>nekohtml</artifactId>
    <version>1.9.22</version>
    </dependency>
    (2). 更改application.properties属性

    spring.thymeleaf.mode=LEGACYHTML5

  • 相关阅读:
    Atitti 图像处理 图像混合 图像叠加 blend 原理与实现
    Atitit Gaussian Blur 高斯模糊 的原理and实现and 用途
    Atitit 图像处理 灰度图片 灰度化的原理与实现
    Atitit (Sketch Filter)素描滤镜的实现  图像处理  attilax总结
    Atitit 实现java的linq 以及与stream api的比较
    Atitit attilax在自然语言处理领域的成果
    Atitit 图像处理 常用8大滤镜效果 Jhlabs 图像处理类库 java常用图像处理类库
    Atitit 图像处理--图像分类 模式识别 肤色检测识别原理 与attilax的实践总结
    Atitit apache 和guava的反射工具
    atitit。企业的价值观 员工第一 vs 客户第一.docx
  • 原文地址:https://www.cnblogs.com/lexiaofei/p/6806826.html
Copyright © 2011-2022 走看看