SpringBoot实操篇1

一、工程打包与运行(windows版)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在浏览器中就可以访问到了,此时IDEA并没有启动。服务器就是命令行窗口。
在这里插入图片描述
跳过测试:可以看到多了很多数据,是因打包的时候将功能测试了一遍。在IDEA中可以关掉。
在这里插入图片描述
注意:必须要有打包插件(插件作用:打一个可以独立运行的jar包)
在这里插入图片描述

二、Boot工程快速启动(Lunix版)

前提:
mysql安装在/root下,由root用户启动
tomcat安装在/root下,由普通用户tomcat启动
将打包好的文件上传到Linux中:
在这里插入图片描述
输入指令启动就OK:
在这里插入图片描述
在这里插入图片描述

三、配置高级

1.设置临时属性

如果要设置临时属性:命令行设置的临时属性高于配置文件。
在这里插入图片描述
要设置多个临时属性,用空格分开:
在这里插入图片描述

2.如何在开发环境中设置临时属性

配置方式1:
在这里插入图片描述
是传到args中的
在这里插入图片描述
方式二:上面看到是传入args中,我们就可以直接在代码中设置
在这里插入图片描述
为了安全,也可以不要这个参数,外部人员就在命令行改不了了,之能用配置文件的。
在这里插入图片描述

3.配置文件4级分类

在IDEA中提供两个级别的配置文件,一个是程序员使用的,一个是做程序总控的。
这两个文件合作配置。高级别的配置文件覆盖低级别的配置文件。
在这里插入图片描述
在打包好的目录里还有两个配置文件。
在这里插入图片描述
总结:SpringBoot中4级配置文件
1级:file:config/application.yml 最高
2级:file:application.yml
3级:classpath:config/appliction.yml
4级:classpath:application.yml 最低
作用:
1级和2级留作系统打包后设置通用属性,1级常用于运维经理进行线上整体项目部署方案调控。
3级和4级用于系统开发阶段设置通用属性,3级常用于项目经理进行整体项目属性调控。

4.自定义配置文件

1.通过启动参数加载配置文件(无序书写配置文件扩展名)
在这里插入图片描述
2.通过启动参数加载指定文件路径下的配置文件时可以加载多个配置
在这里插入图片描述
后面的配置文件生效了。
在这里插入图片描述

重要说明:
单服务器项目:使用自定义配置文件需求较低
多服务器项目:使用自定义配置文件需求较高,将所有配置放置在一个目录中,统一管理
基于SpringCloud技术,所有的服务器将不再设置配置文件,而是通过配置中心进行设定,动态加载配置信息

四、多环境开发

1.yml版本

多环境开发需要设置若干常用环境,例如开发、生产、测试环境
yaml格式中设置多环境使用—区分环境设置边界
每种环境的区别在于加载的配置属性不同
启用某种环境时需要指定启动时使用该环境

#应用环境
#公共配置
spring:
  profiles:
    active: pro

---
#设置环境
#生产环境
spring:
  config:
    activate:
      on-profile: pro
server:
  port: 80

---
#开发环境
spring:
  config:
    activate:
      on-profile: dex
server:
  port: 81

---
#测试环境
spring:
  config:
    activate:
      on-profile: test
server:
  port: 82

会有暴露配置的问题?把配置文件分开
主配置文件写要应用的环境,和共同配置
在这里插入图片描述
写各自的配置
在这里插入图片描述

2.properties版本

properties版本只有多文件版本。
主配置文件写要使用的环境,共同的配置
在这里插入图片描述
在这里插入图片描述
书写技巧:
根据功能对配置文件中的信息进行拆分,并制作成独立的配置文件。
通过include属性在激活指定环境的情况下,同时对多个环境进行加载使其生效,多个环境间使用逗号分隔。
注意:后配置的先加载。当主环境dev与其他环境有相同属性时,主环境属性生效;其他环境中有相同属性时,最后加载的环境属性生效。
在这里插入图片描述
group属性:
在这里插入图片描述

3.多环境开发配置

springboot是基于maven运行的,maven的配置高于springboot。
如何用maven控制boot的环境?
在pom.xml文件中设置:

<!--设置多环境-->
    <profiles>
        <profile>
            <id>env_dev</id>
            <properties>
                <profile.active>dev</profile.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>env_pro</id>
            <properties>
                <profile.active>pro</profile.active>
            </properties>
        </profile>
    </profiles>

在主配置文件中引用:相当于在pom.xml中设置一个变量,在配置文件中用变量名引用一下
在这里插入图片描述

五、日志

日志用于记录开发调试与运维过程消息;
日志的级别共6种,通常使用4种即可,分别是DEBUG,INFO,WARN,ERROR;
可以通过日志组或代码包的形式进行日志显示级别的控制。

1.日志基础

在引导类中添加:

@RestController
@RequestMapping("/books")
public class BookController {
    //1.创建记录日志的对象
    private static final Logger log= LoggerFactory.getLogger(BookController.class);
    @GetMapping
    public String getById(){
        System.out.println("springboot is running...");
        //记录日志

        log.debug("debug...");
        log.info("info....");//启动的默认级别
        log.warn("warn...");
        log.error("error...");

        return "springboot is running...";
    }
}

在浏览器刷新一下,看控制台:
在这里插入图片描述
只显示了三行记录,因为默认启动的是info级别的。
在配置文件中把debug模式开启:
在这里插入图片描述
或者这样设置日志级别:
在这里插入图片描述
信息多了很多:
在这里插入图片描述
设置某个包的日志:(代码包)

在这里插入图片描述
设置某个组的日志:(日志组)
在这里插入图片描述
优化日志对象创建代码:使用lombok提供的注解@Slf4j简化开发,减少日志的声明操作

@Slf4j
@RestController
@RequestMapping("/books")
public class BookController {
    //1.创建记录日志的对象
//    private static final Logger log= LoggerFactory.getLogger(BookController.class);
    @GetMapping
    public String getById(){
        System.out.println("springboot is running...");
        //记录日志

        log.debug("debug...");
        log.info("info....");//启动的默认级别
        log.warn("warn...");
        log.error("error...");

        return "springboot is running...";
    }
}

2.日志输出格式控制

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置一个和原版差不多的日志格式:
在这里插入图片描述

3.日志文件

如何把日志记到文件里。
在这里插入图片描述