Spring Boot+Vue全栈开发第二章笔记 SpringBoot基础配置

第二章 SpringBoot基础配置

2.3 定制banner

SpringBoot启动时会打印一个banner,可以修改

设置成艺术字体,有在线网站可参考:http://network-science.de/ascii/

http://kammerl.de/ascii/AsciiSignature.php

http://patorjk.com/software/taag

在resources目录下创建一个banner.txt 将文本复制到其中

关闭你的banner

在你的启动类main方法中

public static void main(String[] args) {
        SpringApplicationBuilder builder = new SpringApplicationBuilder(LessonbookApplication.class);
        builder.bannerMode(Banner.Mode.OFF).run(args);
    }

 

2.4 Web容器配置

SpringBoot项目中,可以内置Tomcat,Jetty等容器,但是添加了spring-boot-starter-web依赖之后,默认会选择使用Tomcat作为Web容器

2.4.1 Tomcat配置

###配置端口号
server.port=8088
###配置勒当项目出错时跳转去的页面
server.error.path=/error
###配置了session失效时间,30m表示30分钟,不加单位,默认单位是秒.但由于Tomcat中配置session过期时间以分钟为单位,
###因此单位是秒,会转换为一个不超过所配置秒数的最大分钟,例如119,为一分钟
server.servlet.session.timeout=30m
###表示项目名称,不配置时默认为/.如果配置了,就要在访问路径中加上配置的路径
server.servlet.context-path=/Lessonbook
###配置Tomcat请求编码
server.tomcat.uri-encoding=utf-8
###Tomcat最大线程数
server.tomcat.max-threads=500
###存放Tomcat运行日志和临时文件的目录,若不配置,则默认使用系统的临时目录
server.tomcat.basedir=/home/sang/tmp

这些是一些常用配置,具体的可以去参考官方文档https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

HTTPS配置

生成密匙,在jdk/bin的目录下,cmd输入

keytool -genkey -alias tomcathttps -keyalg RSA -keysize 2048 -keystore sang.p12 -validity 365

会生成一个sang.p12的文件,放入项目的根路径下,并且在application.properties中配置

###表示密匙文件名
server.ssl.key-store=sang.p12
###密匙别名
server.ssl.key-alias=tomcathttps
###就是在cml命令命令执行过程中输入的密码
server.ssl.key-store-password=857448959

 

 

2.5 Properties配置

SpringBoot 采用了大量的自动化配置,但有的项目中不可避免的需要手动去配置

SpringBoot项目中的application.properties配置文件一共可以出现在四个位置:


  • 项目根目录下的config文件夹中

  • 项目根目录下

  • classpath下的config文件夹中

  • classpath下

若是文件相同,优先加载从上到下, application.yml作为配置文件优先级也是一样的

也可以自己定义名字,例如在resources目录下创建一个配置文件app.properties,将项目打成jar包,打包成功后,使用以下命令运行:

java -jar Lessonbook-2-0.0.1-SNAPSHOT.jar --spring.config.name=app

在运行是指定配置文件的名字,使用spring.config.name指定

java -jar Lessonbook-2-0.0.1-SNAPSHOT.jar --spring.config.name=app
--spring.config.location=classpath:/

 

2.6 类型安全配置属性

无论是Properties还是YAML/YML配置,最终都会被加载到SpringEnvironment中.

Spring提供了@Value注解以及EnvironmentAware接口来将SpringEnvironment中得数据注入到属性上,使用得是一种安全配置属性并且方便.

在application.properties中添加一段配置

book.name=三国演义
book.author=罗贯中
book.price=30

但是有可能会乱码,需要在setting中改变编码格式,并且导入依赖

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

这个依赖是用来读取properties用来生成元数据的,若是没有导入,也会有乱码现象

 

2.7 YAML配置

YAML是JSON的超集,是一种专门用来书写配置文件的语言,可以代替application.properties.,创建一个SpringBoot项目时,spring-boot-starter-web会引入snakeyaml依赖,实现对YAML配置的解析

我们先将resource下的application.properties文件删除,然后创建一个application.yml,添加如下配置

server:
 port: 8088
 servlet:
  context-path: /Lessonbook
 tomcat:
  uri-encoding: utf-8

注意冒号后面有一个空格,使用IDEA创建YML文件,需要特殊注意,具体网址参考https://blog.csdn.net/zjx15202950573/article/details/88368091

 

YAML的复杂配置

```

@Component
@ConfigurationProperties( prefix = "my")
public class User {
    private  String name;
    private  String address;
    private List<String> favorites;
    ...
}
​
###YAML配置
server:
  port: 8088
  servlet:
    context-path: /Lessonbook
  tomcat:
    uri-encoding: utf-8
​
my:
  name: 江南一点雨
  address: China
  favorites:
    - 足球
    - 徒步
    - Coding

当然 List集合也可以装对象,实现跟上述区别不大

注意不能使用@PropertySource注解加载YAML文件

 

2.8 Profile

在Spring中有注解@Profile配置,SpringBoot更加简洁,SpringBoot中约定不同的环境配置文件名称规则

:application-{profile}.properties, profile占位符表示当前环境的名称,具体配置如下

 

1.创建配置文件

在resource目录下创建两个配置文件: application-dev.properties和application-prod.properties

在application.properties中进行配置:

spring.profiles.active=dev   
###dev可改为prod  即对应的生产环境

 

在代码中配置

在启动类的main中

 public static void main(String[] args) {
​
        SpringApplicationBuilder builder = new SpringApplicationBuilder(LessonbookApplication.class);
        builder.application().setAdditionalProfiles("prod");//此句即设置环境
        builder.run(args);
​
    }

 

项目启动时配置

在项目打成jar包后启动

java -jar  Lessonbook-2-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值