11-30 SpringBoot2

热部署

开发过程中,修改代码,不需要重启,自动更新

项目上线,一定要关闭

SpringBoot热部署的实现??

11-30 SpringBoot2_第1张图片

ideal默认阻止class类更新

2.需要手动构建项目,可以使用快捷键激活此功能ctrl + F9  / build project

自动构建项目

允许程序运行时自动构建

11-30 SpringBoot2_第2张图片

推荐:使用手动更新


项目上线关闭:

1.删除spring-boot-devtools依赖

2.SpringBoot全局配置

11-30 SpringBoot2_第3张图片

SpringBoot的配置文件

11-30 SpringBoot2_第4张图片

Springboot提供的自动配置,需要参数只能程序员提供, SpringBoot配置参数允许配置方:式

11-30 SpringBoot2_第5张图片

11-30 SpringBoot2_第6张图片

从上往下:优先级从低到高,

11配置的 会覆盖3的 比如说端口

命令行的方式设置参数,由于优先级的关系,会直接覆盖第三步直接在外部命令行就可以设置了

11-30 SpringBoot2_第7张图片

不是项目内部配置的8080端口

实现运维的参数外部更改  方便后续yaml文件,yml文件是同一类型文件,只是后缀名不一样

系统配置文件

分为三类

1.properties

2.yaml

3.yml

yaml文件,yml文件是同一类型文件,只是后缀名不一样

properties文件:语法: key=value
每一个key/value独占一行

语法简单 如果key一样 重复写 没有缩进格式

yml文件:

大小写敏感
属性层级关系使用多行描述,每行结尾使用冒号结束使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)#号表示注释

password:后面敲一个空格

11-30 SpringBoot2_第8张图片

yml:

11-30 SpringBoot2_第9张图片

properties:

11-30 SpringBoot2_第10张图片

yml和properties转换:

SpringBoot允许都在文件存在, yml与properties,yaml共存

1.每个文件中配置项不一样.把这个文件所有的配置项组合在一起

如果有两个端口?9090和8080

yml我如果加一个9090

11-30 SpringBoot2_第11张图片

如果没有提示?

11-30 SpringBoot2_第12张图片

三个配置,依旧以8090为准

11-30 SpringBoot2_第13张图片

注释yaml的端口 以yml为准 9090  然后最后是properties

11-30 SpringBoot2_第14张图片

11-30 SpringBoot2_第15张图片

11-30 SpringBoot2_第16张图片

11-30 SpringBoot2_第17张图片

11-30 SpringBoot2_第18张图片

怎么读取这些数据呢?(重点)

11-30 SpringBoot2_第19张图片

1.如果配置参数写在application.yml/properties不需要手动加载文件, springboot自动加载文件2。如果配置参数写在非application.yml/properties文件中,需要手动加载文件,通过
@PropertySource("data.yml")

11-30 SpringBoot2_第20张图片

11-30 SpringBoot2_第21张图片

11-30 SpringBoot2_第22张图片

11-30 SpringBoot2_第23张图片

第一种方式:读取单个值: @Value注解

@Value只能注入一个值  缺陷哦

11-30 SpringBoot2_第24张图片

第二种方式:

SpringBoot提供了一个对象,能够把所有的数据都封装到这一个对象中,这个对象叫做Environment

11-30 SpringBoot2_第25张图片

11-30 SpringBoot2_第26张图片

读取整个的对象数据(多个值)

11-30 SpringBoot2_第27张图片

11-30 SpringBoot2_第28张图片

11-30 SpringBoot2_第29张图片

11-30 SpringBoot2_第30张图片

11-30 SpringBoot2_第31张图片

11-30 SpringBoot2_第32张图片

数组也能注入:

读取某个对象属性注释ConfigurationProperties("stu1")

11-30 SpringBoot2_第33张图片

或者单个单个的来读

11-30 SpringBoot2_第34张图片

11-30 SpringBoot2_第35张图片

11-30 SpringBoot2_第36张图片

注意事项:
随机值,在程序启动的时候,生成的,把这个值提供$表达式
每次获取这个值,是固定的值

多环境配置(运维)

项目经过多种环境下运行,开发者在开发项目的时候,直接在开发者电脑上运行,这个环境称为开发环境,测试人员对项目进行测试,项目部署在测试服务器上,这个环境称为测试环境,项目开发完成,测试通过,项目.上线部署,这个环境称为生产环境

这些环境配置肯定是不一样,比如数据库参数,缓存参数...如果是让运维人员使用配置外部化,需要在命令行使用-写很多的配置参数名,,很麻烦,容易出错
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  公共配置

11-30 SpringBoot2_第37张图片

(改pom 本版 jdk)  改成yml格式配置文件

11-30 SpringBoot2_第38张图片

11-30 SpringBoot2_第39张图片

11-30 SpringBoot2_第40张图片

11-30 SpringBoot2_第41张图片

11-30 SpringBoot2_第42张图片

11-30 SpringBoot2_第43张图片

多文件配置

11-30 SpringBoot2_第44张图片

11-30 SpringBoot2_第45张图片

11-30 SpringBoot2_第46张图片

11-30 SpringBoot2_第47张图片

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

11-30 SpringBoot2_第48张图片

11-30 SpringBoot2_第49张图片

日志的级别:

11-30 SpringBoot2_第50张图片

定义log日志输出级别

11-30 SpringBoot2_第51张图片

11-30 SpringBoot2_第52张图片

11-30 SpringBoot2_第53张图片

11-30 SpringBoot2_第54张图片

11-30 SpringBoot2_第55张图片

11-30 SpringBoot2_第56张图片

11-30 SpringBoot2_第57张图片

 

你可能感兴趣的:(springboot,spring,boot,后端,java)