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

  • 相关阅读:
    java路径两种写法"/"和"\"以及 ./和../以及/之间的区别?
    几张图轻松理解String.intern()和String
    面向对象编程三大特性------封装、继承、多态
    markdown操作手册
    index索引的一些简单理解
    Mac 上flink的安装与启动
    C语言实现俄罗斯方块游戏
    Maven_学习、搭建、应用
    PHP学习笔记---高级知识
    软件设计师笔记---寻址方式
  • 原文地址:https://www.cnblogs.com/lexiaofei/p/6806826.html
Copyright © 2011-2022 走看看