初识spring boot
2018-10-14 本文已影响11人
咸鱼佬
继承starter parent
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
是使用sb 不错的一种方式,但它不总是合适的,有时候你可能需要继承一个不同的父POM,或只是不喜欢它提供的默认配置,那么你可以使用import 作用域代替方案
模块介绍
- spring-boot-starter 核心模块,包括自动配置支持,日志和YAML
- spring-boot-starter-test 测试模块,包括Junit Hamcrest
hot swap热部署
spring boot 包含一些额外的工具集用于提升spring boot 应用开发体验
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
只要是classpath 下的文件发生变动,就会自动重启。默认情况下classpath 下任何指向文件夹的实体都会被监控,注意一些资源文件的修改比如静态assets 视图模板不需要重启应用
在 idea 中 触发重启需要你重新构建project或者模块/某个类?
当判定classpath 下实体的改变触发重启时,devTools 会自动忽略一下工程,spring boot spring-boot-devtools spring-boot-autoconfigure spring-boot-actuator 和 spring-boot-starter
spring boot 提供的重启技术是通过使用两个类加载器实现的,没有变化的类,比如那些第三方jars 会加载进一个基础 classloader 正在开发的类会加载进一个重启的classloader 。当应用重启时,restart类加载器就会被丢弃,并创建一个新。这种方式就以为着重启应用通常比冷启动快很多,因为基础类加载器已经可用了
排除资源
默认情况下,位于/resource /static /public /template 下的资源变更是不会触发重启,但会触发实时加载,可以使用以下命令改变这些规则
替换原来的默认设置
spring:
devtools:
restart:
exclude: 路径名
在默认设置之上加上自己的排除规则
spring:
devtools:
restart:
additional-exclude: 路径名
如果想让应用在改变没有位于classpath下的文件时也会重启或重新加载,可以使用
spring:
devtools:
restart:
additional-paths:
banner
image可以在这个网站中生存banner文本
http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20
保存文件为banner.txt 放在resource 文件夹下,启动时就会使用这个文件中的文本样式启动
spring-configuration-metadata.json
image默认设置,我们自定义的一些属性也会对应生成一个metadata文件
image
版本
- Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改。
- Beta版: 该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI。
- RC版: 该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几。
- Release版: 该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。该版本有时也称为标准版。一般情况下,Release
不会以单词形式出现在软件封面上,取而代之的是符号(R)