diff --git a/src/main/java/cn/celess/blog/configuration/ApplicationListener.java b/src/main/java/cn/celess/blog/configuration/ApplicationListener.java index 7773fa7..98e0ea4 100644 --- a/src/main/java/cn/celess/blog/configuration/ApplicationListener.java +++ b/src/main/java/cn/celess/blog/configuration/ApplicationListener.java @@ -1,11 +1,13 @@ package cn.celess.blog.configuration; +import cn.celess.blog.enmu.ConfigKeyEnum; import cn.celess.blog.entity.Config; import cn.celess.blog.mapper.ConfigMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; +import org.springframework.core.env.Environment; import org.springframework.stereotype.Component; import java.util.List; @@ -22,12 +24,29 @@ public class ApplicationListener implements ApplicationRunner { @Autowired ConfigMapper configMapper; + @Autowired + Environment env; @Override public void run(ApplicationArguments args) throws Exception { log.info("博客启动!"); - List configurations = configMapper.getConfigurations(); + // 设置初始值 + setProperty(ConfigKeyEnum.FILE_QINIU_SECRET_KEY); + setProperty(ConfigKeyEnum.FILE_QINIU_ACCESS_KEY); + setProperty(ConfigKeyEnum.FILE_QINIU_BUCKET); + + List configurations = configMapper.getConfigurations() + .stream() + .filter(config -> config.getValue() != null && !"".equals(config.getValue())) + .collect(Collectors.toList()); configurations.forEach(config -> System.setProperty(config.getName(), config.getValue())); log.debug("注入配置成功 {}", configurations.stream().map(Config::getName).collect(Collectors.toList())); } + + private void setProperty(ConfigKeyEnum e) { + String property = env.getProperty(e.getKey()); + if (property != null) { + System.setProperty(e.getKey(), property); + } + } } diff --git a/src/main/resources/application-openSource.properties b/src/main/resources/application-openSource.properties index ed3aa2e..063a1fd 100644 --- a/src/main/resources/application-openSource.properties +++ b/src/main/resources/application-openSource.properties @@ -1,9 +1,9 @@ server.port=8081 # 七牛的密钥配置 -qiniu.accessKey= -qiniu.secretKey= -qiniu.bucket= +file.qiniu.accessKey= +file.qiniu.secretKey= +file.qiniu.bucket= # sitemap 存放地址 sitemap.path= # 生成JWT时候的密钥 diff --git a/src/main/resources/application-test.properties b/src/main/resources/application-test.properties index 81613bd..3af3bed 100644 --- a/src/main/resources/application-test.properties +++ b/src/main/resources/application-test.properties @@ -1,9 +1,9 @@ server.port=8081 # 七牛的密钥配置 -qiniu.accessKey=${QINIU_ACCESSKEY:null} -qiniu.secretKey=${QINIU_SECRETKEY:null} -qiniu.bucket=xiaohai +file.qiniu.accessKey=${QINIU_ACCESSKEY:null} +file.qiniu.secretKey=${QINIU_SECRETKEY:null} +file.qiniu.bucket=xiaohai # sitemap 存放地址 sitemap.path= # 生成JWT时候的密钥 diff --git a/src/main/resources/sql/data.sql b/src/main/resources/sql/data.sql index 13630cb..09127c2 100644 --- a/src/main/resources/sql/data.sql +++ b/src/main/resources/sql/data.sql @@ -216,8 +216,8 @@ VALUES (1, '1.新增网站更新接口api \n2.新增友链api \n3.优化了文 INSERT INTO config (conf_id, conf_name, conf_value) VALUES (1, 'file.type', 'local'), - (2, 'file.qiniu.accessKey', ''), - (3, 'file.qiniu.secretKey', ''), - (4, 'file.qiniu.bucket', ''), + (2, 'file.qiniu.accessKey', null), + (3, 'file.qiniu.secretKey', null), + (4, 'file.qiniu.bucket', null), (6, 'file.local.directoryPath', '~/blog/files'), (7, 'db.type', 'h2') diff --git a/src/main/resources/sql/schema.sql b/src/main/resources/sql/schema.sql index f7f8975..ef0ea57 100644 --- a/src/main/resources/sql/schema.sql +++ b/src/main/resources/sql/schema.sql @@ -115,7 +115,7 @@ CREATE TABLE `config` ( `conf_id` int primary key auto_increment, `conf_name` varchar(255) unique not null comment '配置名', - `conf_value` varchar(255) not null comment '配置值' + `conf_value` varchar(255) default null comment '配置值' ); CREATE VIEW articleView diff --git a/src/main/resources/sql/schema_h2.sql b/src/main/resources/sql/schema_h2.sql index 818ee39..7de1702 100644 --- a/src/main/resources/sql/schema_h2.sql +++ b/src/main/resources/sql/schema_h2.sql @@ -120,7 +120,7 @@ CREATE TABLE `config` ( `conf_id` int primary key auto_increment, `conf_name` varchar(255) unique not null comment '配置名', - `conf_value` varchar(255) not null comment '配置值' + `conf_value` varchar(255) default null comment '配置值' ); CREATE VIEW articleView