您正在查看:2020年

SpringBoot 配置文件存放位置及读取顺序

因为线上部署的时候和本地往往使用不同的配置文件,所以研究了下SpringBoot配置文件存放位置及读取顺序
之前是直接手动指定配置文件启动来启动SpringBoot工程的,后来发现直接按照配置文件的加载顺序优先级放到对应的文件夹下即可进行配置文件的自动覆盖和互补

以下内容转载自:https://my.oschina.net/sdlvzg/blog/1612703


SpringBoot配置文件可以使用yml格式和properties格式

分别的默认命名为:application.yml、application.properties

存放目录

SpringBoot配置文件默认可以放到以下目录中,可以自动读取到:

  • 项目根目录下
  • 项目根目录中 config 目录下
  • 项目的 resources 目录下
  • 项目 resources 目录中 config 目录下

clipboard.png

读取顺序

如果在不同的目录中存在多个配置文件,它的读取顺序是:

1、config/application.properties(项目根目录中config目录下)
2、config/application.yml
3、application.properties(项目根目录下)
4、application.yml
5、resources/config/application.properties(项目resources目录中config目录下)
6、resources/config/application.yml
7、resources/application.properties(项目的resources目录下)
8、resources/application.yml

注:
1、如果同一个目录下,有application.yml也有application.properties,默认先读取application.properties。
2、如果同一个配置属性,在多个配置文件都配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取到的。
3、创建SpringBoot项目时,一般的配置文件放置在“项目的resources目录下”

搭建softEther,组建虚拟局域网,和基友畅玩经典单机~

受疫情影响,在家实在闲着没事,就开始瞎折腾了... 笑眼.png
主流游戏玩腻了,就想找着基友来重温经典,打打红警,玩玩cs...,感受一下全球苏维埃的成就感 滑稽.png
111.jpg
可是全国人民都在家闲着,各大对战平台都是爆满状态,浩方、游侠、红警战网.. 都非常火爆,服务器负载大了,就会就现掉线,严重影响游戏体验... 不高兴.png
索性就利用闲置的服务器,搭建一个虚拟局域网,都是自己人玩,又快又稳定~ 滑稽.png

经各方查阅资料,最终决定选用 softEther v*n 来组建虚拟局域网
官方网站:https://www.softether.org/

原理:在服务器 CentOS7 系统下配置 softEther 服务端,使用DNSmasq进行DHCP地址分配,然后通过 Win10 自带的v*n功能连接到搭建好的服务器,实现虚拟局域网从而联机打游戏~


下面开始安装和配置:

- 阅读剩余部分 -

Github中提交Commit时使用GPG进行加密

概述

GPG 是一种加密算法,在 Git 中提交 Commit 时可以使用 GPG 进行加密,来保证提交的 Commit 没有被篡改,具体体现在 Github 提交的时候会有一个 verified 的标志。
QQ截图20200121153639.png

这里我是在 Windows 下操作来生成 GPG 密钥的,其他系统环境下操作可能会有不同

准备工作

生成GPG密钥之前,可以检查当前电脑是否存在有 GPG 密钥

1 打开 Git Bash
2 使用 gpg --list-secret-keys --keyid-format LONG 命令列出同时具有公共密钥和私有密钥的GPG密钥。签名提交或标记需要私钥。

gpg --list-secret-keys --keyid-format LONG

3 检查命令输出以查看是否具有 GPG 密钥
如果没有GPG密钥对,则生成一个新的GPG密钥
2020-01-21T08:02:03.png

- 阅读剩余部分 -

饭饭's 随机图片 Api → Random-Image-Api

饭饭's 随机图片 Api → Random-Image-Api

一个能够获取随机图片的 Api,基于 Spring Boot 构建

Demo:https://api.ffis.me/imgApi/index.html
Github: https://github.com/noisky/Random-Image-Api

可读取本地图片列表的地址,并提供随机访问服务,可配置域名白名单访问

2020-01-07T16:01:56.png

项目说明

程序启动的时候会自动加载 项目路径/list 文件夹下的所有列表文件;

图片列表文件:

  • 提供访问路径为文件名的随机图片服务
  • 文件命名格式 xxx.txt 必须为 .txt 结尾,每行一个图片url

域名白名单列表文件:

  • 会开启域名白名单访问,只允许列表中的域名进行接口调用
  • 命名只能为 domains.txt,每行一个域名,支持泛域名

    • 例如输入 test.com ,则会允许所有 test.com 结尾的域名访问
  • 若域名列表文件不存在或者文件为空,则会关闭域名白名单服务,任何域名都可以进行调用。
更改列表文件后,刷新图片缓存即可生效。

编译运行

# 拉取项目
git clone https://github.com/noisky/Random-Image-Api.git
# 使用 maven 打包
mvn clean package
cd target && java -jar Random-Image-Api-1.0.0.jar
# 将写好的图片列表文件放入 list 文件夹,刷新缓存即可正常访问
http://localhost:9090/flush
# 默认访问端口 9090
http://localhost:9090/random/{图片列表文件名}
# 主页地址
http://localhost:9090/index.html

接口调用:

1、获取随机图片:

  • 请求方式:GET请求

    • 请求地址:/random/{images}
    • {images} 则对应为 images.txt 文件里面的所有图片地址

2、获取每日图片:

  • 请求方式:GET请求

    • 请求地址:/today/{images}
    • {images} 则对应为 images.txt 文件里面的所有图片地址

3、刷新图片缓存:

  • 请求方式:GET请求

    • 请求地址:/flush

已完成功能:

  • 获取每日图片
  • 读取本地列表的图片地址,提供随机访问
  • 域名白名单访问,未授权的域名访问会跳转到未授权页面

TODO:

  • 提供本地图片的随机访问
  • 接口调用统计