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
转载于:https://www.cnblogs.com/lexiaofei/p/6806826.html
SpringBoot 概念和起步相关推荐
- Java工程师之SpringBoot系列教程前言目录
前言 与时俱进是每一个程序员都应该有的意识,当一个Java程序员在当代步遍布的时候,你就行该想到我能多学点什么.可观的是后端的框架是稳定的,它们能够维持更久的时间在应用中,而不用担心技术的更新换代.但 ...
- springboot pom文件指定jdk_Spring Boot 入门
SpringBoot 基本应用 约定优于配置 约定优于配置(Convention over Configuration),又称按约定编程,是一种软件设计范式. 本质上是说,系统.类库或框架应该假定合理 ...
- SpringBoot的基础
概念 Spring的优缺点 1. 优点(AOP和IOC简化开发)Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品.无需开发重量级的En ...
- springboot test_精益求精!Spring Boot 知识点全面回顾,带你重新细读源码!
作者:cyd_0619 原文:https://blog.csdn.net/cyd_0619 约定优于配置 Build Anything with Spring Boot:Spring Boot is ...
- SpringBoot/Spring Cloud/Docker
第九阶段模块一 SpringBoot 1. SpringBoot基本应用 1.1 约定优于配置 官方: Spring Boot 是所有基于 Spring 开发的项目的起点.Spring Boot ...
- 自学之SpringBoot
springboot 简介 Spring Boot 是 Spring 家族中的一个全新的框架,它用来简化 Spring 应用程序的创建和开发过程,也可以说 Spring Boot 能简化我们之前采 ...
- SpringBoot学习(一)
2019独角兽企业重金招聘Python工程师标准>>> (一) 第一个SpringBoot程序 工作了挺久的,已学到的技术也没有系统性的整理一下,刚好最近在使用SpringBoot搭 ...
- springboot starter工作原理_springboot基础知识集结,你get到了吗
导读 首发于公众号:JAVA大贼船,原创不易,喜欢的读者可以关注一下哦!一个分享java学习资源,实战经验和技术文章的公众号! 一.SpringBoot的特点 Spring Boot 主要目标是: 为 ...
- 【SpringBoot零基础案例01】【IEDA 2021.1】如何创建一个SpringBoot框架web项目
一.创建一个空项目 点击[File]- [New]- [Project-],新建一个空项目 选择[Empty Project]点击[Next] 填写项目名称,选择项目本地存储路径,点击[Finish] ...
最新文章
- rsatool使用步骤图解_图解360系统重装大师如何使用
- python化学题_中国大学mooc《化学教学论(朱汝葵 陈思静 汤希雁)》考试期末答案高校邦《Python程序设计基础【实境编程】》课后作业答案...
- [BUUCTF-pwn]——picoctf_2018_shellcode
- 组合CPU和DRAM
- frida hook java层常用模板
- mybatis和hibernate的一级、二级缓存
- 禁用当前的账户win7_系统小技巧:服务客人 开启Windows 10来宾账户
- OD-标志寄存器判断语句对照表(汇编标志位寄存器对照表)
- Yaml锚点和别名*
- ls命令 文件和目录属性
- Android IPC —— AIDL的原理
- guid主分区表损坏如何处理_guid主分区表损坏如何处理_windows10系统硬盘分区表损坏修复教程...
- 『深度应用』首届中国心电智能大赛复赛开源(第三十一名,得分0.841484)
- 常用类库-java.lang.String
- Ubuntu 22.04 桌面美化之Mac Big Sur风格
- STM32F407的时钟
- MeVisLab模块化医学图像处理可视化软件
- Chrome浏览器中使用 iframe 嵌入网页导致视频不能全屏的问题解决方法
- NameNode概述
- 【FinE】在险价值(VaR)计算