概念
什么是SpringBoot
可以理解为简化版的Spring和SpringMVC集合
特点
百度说:设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
- 创建独立的Spring应用程序
- 嵌入的Tomcat,无需部署WAR文件
- 简化Maven配置
- 自动配置Spring
- 提供生产就绪型功能,如指标,健康检查和外部配置
- 绝对没有代码生成和对XML没有要求配置[1]
简单讲就是:更少的配置,方便快捷。
槽点
和原来的方式对比了一下,感觉不太爽的就是在写html页面时,如果没有热部署,那么每次都需要重启项目(不得不说intellij idea 对html页面的编辑很不友好啊,不如用webStrom做原型),所以本文后面也会介绍热部署。
创建项目
创建Spring-boot
注意URL路径的填写,然后下一步:
包管理工具选择maven(后面还需要配置maven),next。
这里可以选择Spring-boot的一些组件(便捷性就提现出来了),首先我们是做javaWeb的应用,所以首先选择web组件,当然一般还会选择Mysql,JDBC和一个表示层的框架(这里我用的thymeleaf),然后点击next。
next选择项目的地址,就不多说了,最后点击finish。
配置maven
项目创建好之后,紧接着要做的事情就是配置maven,选择自己的下载的maven。如果觉得maven访问的速度比较慢,可以设置一下代理。
编写项目配置文件
这里使用yml的方式进行配置:
在resources目录下创建application.yml,此时可以把原来的.properties文件删除掉,随后我们再创建2个yml文件,分别取名为application-dev.yml和application-prod.yml,这两个配置文件,一个是测试环境,一个是生产环境,可以根据需要在application.yml当中进行配置。
application.yml 配置数据库和加载的yml文件
spring:
profiles:
active: dev
jpa:
hibernate:
ddl-auto: create
show-sql: true
application-dev.yml里面的内容,并配置了thymeleaf模板的相关内容
#定义端口号
server:
port: 8081
#默认地址
default:
host: http://localhost:8081
spring:
#测试环境数据库的配置
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/blog
username: root
password: 123456
#thymeleaf start
thymeleaf:
mode: LEGACYHTML5
encoding: utf-8
content-type: text/html
cache: false
h2:
console:
enabled: true
devtools:
livereload:
enabled: true
mvc:
static-path-pattern: /**
#静态文件扫描的地址
resources:
static-locations: classpath:/templates/,classpath:/templates/admin
# 静态文件请求匹配方式
#thymeleaf end
这里一定要注意,yml文件是通过缩进来划分代码块的!
这里一定要注意,yml文件是通过缩进来划分代码块的!
这里一定要注意,yml文件是通过缩进来划分代码块的!
thymeleaf 配置参考文章thymeleaf使用基础教程里面的文章都可以看看~
yml配置文件的参考文章:SpringBoot yml 配置
到此为止,我们就可以直接点击最上面的BlogApplication来运行项目。
热部署
这里主要是为了方便html页面的调试,有兴趣的下伙伴可以自行百度 spring-boot的热部署方案,这里给出我自己已经成功使用了的方法。(虽然支持热部署,但是实际开发过程中还是觉得很蹩脚,所以html页面的调试建议还是使用专门的ide)。
参考文章:spring boot 之热部署(三)
配置ThymeLeaf
在刚才的application-dev.yml 配置文件中有如下的这段内容:
spring:
#测试环境数据库的配置
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/blog
username: root
password: 123456
#thymeleaf start
thymeleaf:
mode: LEGACYHTML5
encoding: utf-8
content-type: text/html
cache: false
h2:
console:
enabled: true
devtools:
livereload:
enabled: true
mvc:
static-path-pattern: /**
#静态文件扫描的地址
resources:
static-locations: classpath:/templates/,classpath:/templates/admin
# 静态文件请求匹配方式
#thymeleaf end
thymeleaf start和end的部分就是其配置的内容,这里重点强调几点。
(1)缩进
(2)thymeleaf的配置是在spring节点下的
(3)关于静态资源的访问请参考这篇文章springboot 1.5.2 thymeleaf 添加templates 静态资源访问路径
若有疑问可以QQ联系笔者,虽然不一定100%解决你的问题,但是可以交流探讨一波:2276604211
顺便打个内推广告:如果有想入职中国银联上海技术开发的童鞋,也可以加上面的QQ资讯,笔者可以帮你回答一些相关问题~~