
通过引入外部配置文件,应用启动时候设置配置文件的自动加载
1: 在单体工程的root目录下添加一个config目录,然后新建我们的properties, 如:jdbc-db.properties, redis.properties
2: 然后在我们的application启动类上添加@propertySources注解引入我们的外部文件
注意:因为PropertySources 默认只解析.properties文件,如果要解析yml文件,需要指定factory只需要实现org.springframework.core下的 PropertySourceFactory 接口就OK了。
简单的properties配置文件只需要按如下方式配置即可
只需要1,2步骤就可以完成外部文件的加载,如果涉及到线上修改配置就只需要手动修改配置文件,重新启动应用即可生效。
有些用过springBoot工程的人总有疑惑,springBoot工程中是有一个application.yml配置文件的啊,其实application.yml的功能和application.properties是一样的,不过因为yml文件是树状结构,写起来有更好的层次感,更易于理解,所以很多人都选择了yml文件。
下面来说说将工程改成application.yml配置文件的详细步骤
第一步:在 application.properties 文件的同级目录下新建一个 application.yml 文件
第二步:添加application.yml文件中的配置如下:
server:
port: 8088
spring:
datasource:
name: test
url: jdbc:mysql://localhost:3306/test
username: root
password: xxx
# 使用druid数据源
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
filters: stat
maxActive: 20
initialSize: 1
maxWait: 60000
minIdle: 1
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: select 'x'
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxOpenPreparedStatements: 20
如图所示:
第三步:删除原有的application.properties文件
文件结构如图示:
第四步,重新编译maven工程
找到maven工具栏,双击clean,待执行完成后,双击install,执行完成则编译成功。
第四步,重启springboot项目
没有任何问题:
The End
把 application.yml 文件放在执行 java -jar 命令所在的目录中;
执行 java -jar xxx.jar 命令,此时 application.yml 应放在 xxx.jar 同级目录;
执行 java -jar /abc/xxx.jar 命令,此时 application.yml 应放在 / 目录;
需要注意的是,自动加载 application.yml 的位置并不与 jar 包相关,而是与 java 命令有关。
通过 --spring.config.location 参数可以指定配置文件的位置。
java -jar /abc/xxx.jar --spring.config.location=/abc/application.yml
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)