热部署
开发过程中,修改代码,不需要重启,自动更新
项目上线,一定要关闭
SpringBoot热部署的实现??
ideal默认阻止class类更新
2.需要手动构建项目,可以使用快捷键激活此功能ctrl + F9 / build project
自动构建项目
允许程序运行时自动构建
推荐:使用手动更新
项目上线关闭:
1.删除spring-boot-devtools依赖
2.SpringBoot全局配置
SpringBoot的配置文件
Springboot提供的自动配置,需要参数只能程序员提供, SpringBoot配置参数允许配置方:式
从上往下:优先级从低到高,
11配置的 会覆盖3的 比如说端口
命令行的方式设置参数,由于优先级的关系,会直接覆盖第三步直接在外部命令行就可以设置了
不是项目内部配置的8080端口
实现运维的参数外部更改 方便后续yaml文件,yml文件是同一类型文件,只是后缀名不一样
系统配置文件
分为三类
1.properties
2.yaml
3.yml
yaml文件,yml文件是同一类型文件,只是后缀名不一样
properties文件:语法: key=value
每一个key/value独占一行语法简单 如果key一样 重复写 没有缩进格式
yml文件:
大小写敏感
属性层级关系使用多行描述,每行结尾使用冒号结束使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)#号表示注释
password:后面敲一个空格
yml:
properties:
yml和properties转换:
SpringBoot允许都在文件存在, yml与properties,yaml共存
1.每个文件中配置项不一样.把这个文件所有的配置项组合在一起
如果有两个端口?9090和8080
yml我如果加一个9090
如果没有提示?
三个配置,依旧以8090为准
注释yaml的端口 以yml为准 9090 然后最后是properties
怎么读取这些数据呢?(重点)
1.如果配置参数写在application.yml/properties不需要手动加载文件, springboot自动加载文件2。如果配置参数写在非application.yml/properties文件中,需要手动加载文件,通过
@PropertySource("data.yml")
第一种方式:读取单个值: @Value注解
@Value只能注入一个值 缺陷哦
第二种方式:
SpringBoot提供了一个对象,能够把所有的数据都封装到这一个对象中,这个对象叫做Environment
读取整个的对象数据(多个值)
数组也能注入:
读取某个对象属性注释ConfigurationProperties("stu1")
或者单个单个的来读
注意事项:
随机值,在程序启动的时候,生成的,把这个值提供$表达式
每次获取这个值,是固定的值
多环境配置(运维)
项目经过多种环境下运行,开发者在开发项目的时候,直接在开发者电脑上运行,这个环境称为开发环境,测试人员对项目进行测试,项目部署在测试服务器上,这个环境称为测试环境,项目开发完成,测试通过,项目.上线部署,这个环境称为生产环境
这些环境配置肯定是不一样,比如数据库参数,缓存参数...如果是让运维人员使用配置外部化,需要在命令行使用-写很多的配置参数名,,很麻烦,容易出错
SpringBoot提供了多环境配置,由开发者在开发阶段,就为不同环境提供不同的配置,根据项目在那个环境运行,激活那个环境配置
多环境配置:
yml配置文件:
mybatis:
mapper-locations: classpath*:mapper/*Mapper.xml
type-aliases-package: com.huse.springbootbookshop.entity
pagehelper:
helper-dialect: mysql
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
password: root
url: jdbc:mysql://localhost:3306/book_shop?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
yml方式
yml配置文件:
。第一种方式,在一个配置文件中(application.yml)编写多个环境配置
。第二种方式:多文件配置每一个环境对应一个配置文件 推荐
properties配置文件:多文件配置每一个环境对应一个配置文件 推荐
命名规范: 生成环境: prod 测试环境: test 开发环境: dev
生产环境,测试环境,开发环境三个环境由4个配置:
- 三个环境的配置文件
- 主配置文件: application.yml 公共配置
(改pom 本版 jdk) 改成yml格式配置文件
多文件配置
properties配置文件:多文件配置每一个环境对应一个配置文件 推荐
与yml的多文件是一样,文件后缀名为properties
application.properties
激活: spring.profiles.active=XX
application-dev.propertieso
application-test.properties
application-prod.properties
SpringBoot日志记录
开发中,打印一些内容,使用日志输出,不要使用System.out.printin()lombok插件:在类上使用@Slf4j注解,自动给类注入一个log(日志对象)
SpringBoot默认使用日志框架: logback
日志的级别:
定义log日志输出级别