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
SpringBoot 概念和起步的更多相关文章
- SpringBoot基础学习(一) SpringBoot概念、简单案例实现、单元测试及热部署讲解
SpringBoot概念 Spring优缺点分析 Spring优点 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品,无需开发重量级的 ...
- SpringBoot系列教程起步
本篇学习目标 Spring Boot是什么? 构建Spring Boot应用程序 三分钟开发SpringBoot应用程序 本章源码下载 Spring Boot是什么? spring Boot是由Piv ...
- 关于springboot
概念 Spring的优缺点 1. 优点(AOP和IOC简化开发) Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品.无需开发重量级的E ...
- Java工程师之SpringBoot系列教程前言&目录
前言 与时俱进是每一个程序员都应该有的意识,当一个Java程序员在当代步遍布的时候,你就行该想到我能多学点什么.可观的是后端的框架是稳定的,它们能够维持更久的时间在应用中,而不用担心技术的更新换代.但 ...
- SpringBoot的基础
概念 Spring的优缺点 1. 优点(AOP和IOC简化开发) Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品.无需开发重量级的E ...
- SpringBoot教程——检视阅读
SpringBoot教程--检视阅读 参考 SpringBoot教程--一点--蓝本--springboot2.1.1 SpringBoot教程--易百--springboo2.0.5.RELEASE ...
- SpringBoot和微服务
SpringCloud SpringBoot 概念 应用 微服务CAP Consistency(数据强一致性),Availability(服务可用性),Partition-tolerance(分区容错 ...
- springboot依赖
springboot依赖整合 <parent> <groupId>org.springframework.boot</groupId> <artifactId ...
- JPA、Hibernate、Spring data jpa之间的关系,以及和springboot的整合
什么么是JPA? 全称Java Persistence API,可以通过注解或者XML描述[对象-关系表]之间的映射关系,并将实体对象持久化到数据库中. 为我们提供了: 1)ORM映射元数据:JPA支 ...
随机推荐
- .NET Core开源API网关 – Ocelot中文文档
Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由.请求聚合.服务发现.认证.鉴权.限流熔断.并内置了负载均衡器与Service Fabric.Butterfly ...
- 微信公众号开发 VS2015本地调试
1.部署一个微信公众号服务在本地IIS: 2.下载一个ngrok 穿网工具,放到部署文件夹根目录: ngrok穿网 在部署路径下打开cmd,输入 ngrok http [端口号] 4.将映射的URL ...
- Java设计模式(一)工厂模式
一.场景描述 仪器数据文件的格式包含Pdf.Word.Excel等多种,不同种格式的文件其数据的采集方式不同,因此定义仪器数据采集接口,并定义PDF.Excel等不同的数据采集类实现该接口. 通过工厂 ...
- 【Java一看就懂】浅克隆和深克隆
一.何为克隆 在Java的体系中,数据类型分为基本数据类型和引用数据类型. 基本数据类型包括byte,short,int,long,float,double,boolean,char 8种,其克隆可通 ...
- 前端的UI设计与交互之导航篇
在广义上,任何告知用户他在哪里,他能去什么地方以及如何到达那里的方式,都可以称之为导航.当设计者使用导航或者自定义一些导航结构时,请注意:尽可能提供标识.上下文线索,避免用户迷路:保持导航样式和行为一 ...
- Linux快速搭建FTP服务器
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(A ...
- python读取三维点云球坐标数据并动态生成三维图像与着色
关键步骤: 1.首先通过读取.txt文本数据并进行一系列字符串处理,提取显示所需要的相关数据矩阵 2.然后利用python的matplotlib库来进行动态三维显示 备注:matplotlib在显示2 ...
- 【ASP.NET Core】如何隐藏响应头中的 “Kestrel”
全宇宙人民都知道,ASP.NET Core 应用是不依赖服务器组件的,因此它可以独立运行,一般是使用支持跨平台的 Kestrel 服务器(当然,在 Windows 上还可以考虑用 HttpSys,但要 ...
- Post Office
Post Office poj-1160 题目大意:给你在数轴上的n个村庄,建立m个邮局,使得每一个村庄距离它最近的邮局的距离和最小,求距离最小和. 注释:n<=300,m<=min(n, ...
- linux系统命令学习-用户管理
1. 用户 a) 系统使用user id 简称UID来标志用户的唯一性 b) 用户分为三类:系统用户,根用户,普通用户 i. 普通用户 UID大于500,系统默认普通用户UID从500开始 只能操 ...