diff --git a/src/main/java/cn/celess/blog/configuration/CommonEnvPostProcessor.java b/src/main/java/cn/celess/blog/configuration/CommonEnvPostProcessor.java new file mode 100644 index 0000000..7f9cae9 --- /dev/null +++ b/src/main/java/cn/celess/blog/configuration/CommonEnvPostProcessor.java @@ -0,0 +1,66 @@ +package cn.celess.blog.configuration; + +import cn.celess.blog.util.EnvironmentUtil; +import org.jetbrains.annotations.NotNull; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.env.EnvironmentPostProcessor; +import org.springframework.boot.logging.DeferredLog; +import org.springframework.context.ApplicationEvent; +import org.springframework.context.ApplicationListener; +import org.springframework.core.Ordered; +import org.springframework.core.env.ConfigurableEnvironment; +import org.springframework.core.env.PropertiesPropertySource; +import org.springframework.stereotype.Component; + +import java.io.File; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Properties; +import java.util.regex.Matcher; + +/** + *
date: 2022/12/02
+ *desc:
+ *mail: a@celess.cn
+ * + * @author 禾几海 + */ + +@Component +public class CommonEnvPostProcessor implements EnvironmentPostProcessor, ApplicationListenerdate: 2022/12/02
+ *desc:
+ *mail: a@celess.cn
+ * + * @author 禾几海 + */ + +@Slf4j +public class EnvironmentUtil { + + private static Environment environment; + + public static String getEnv(String name) { + String value = System.getenv(name); + if (StringUtils.isBlank(value)) { + log.error("没有找到环境变量:" + name); + } + return value; + } + + public static String getEnv(String name, String defaultValue) { + String env = getEnv(name); + if (env == null) { + return defaultValue; + } + return env; + } + + public static String getProperties(String key) { + String value = environment.getProperty(key); + if (StringUtils.isBlank(value)) { + log.error("没有找到配置项: {}", key); + } + return value; + } + + public static String getProperties(String key, String defaultValue) { + return environment.getProperty(key, defaultValue); + } + + public static void setEnvironment(Environment environment) { + EnvironmentUtil.environment = environment; + } +} diff --git a/src/main/resources/application-openSource.properties b/src/main/resources/application-openSource.properties index 766a8f7..cec0c5f 100644 --- a/src/main/resources/application-openSource.properties +++ b/src/main/resources/application-openSource.properties @@ -1,26 +1,26 @@ server.port=8081 -# 七牛的密钥配置 +# ??????? qiniu.accessKey= qiniu.secretKey= qiniu.bucket= -# sitemap 存放地址 +# sitemap ???? sitemap.path= -# 生成JWT时候的密钥 +# ??JWT????? jwt.secret= spring.jpa.show-sql=false spring.jpa.hibernate.ddl-auto=update -# 上传单个文件的大小 +# ????????? spring.servlet.multipart.max-file-size=10MB -# 上传文件的总大小 +# ???????? spring.servlet.multipart.max-request-size=10MB -##null字段不显示 +##null????? spring.jackson.default-property-inclusion=non_null -################# 数据库 ################## -#请先填写下面的配置 +################# ??? ################## +#????????? spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.url= spring.datasource.username= @@ -48,7 +48,7 @@ pagehelper.params=count=countSql ################ email ############## -#请先填写下面的配置,不然可能运行不起来 +#??????????????????? spring.mail.host= spring.mail.username= spring.mail.password= @@ -62,7 +62,7 @@ spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFact spring.mail.properties.mail.smtp.socketFactory.fallback=false -#### 用于nginx的代理 获取真实ip +#### ??nginx??? ????ip server.use-forward-headers = true server.tomcat.remote-ip-header = X-Real-IP server.tomcat.protocol-header = X-Forwarded-Proto @@ -70,21 +70,21 @@ server.tomcat.protocol-header = X-Forwarded-Proto ############### redis ############## # REDIS (RedisProperties) -# Redis数据库索引(默认为0) +# Redis?????????0? spring.redis.database=0 -# Redis服务器地址 +# Redis????? spring.redis.host= -# Redis服务器连接端口 +# Redis??????? spring.redis.port=6379 -# Redis服务器连接密码(默认为空) +# Redis????????????? spring.redis.password= -# 连接池最大连接数(使用负值表示没有限制) +# ???????????????????? spring.redis.jedis.pool.max-active=-1 -# 连接池最大阻塞等待时间(使用负值表示没有限制) +# ??????????????????????? spring.redis.jedis.pool.max-wait=-1 -# 连接池中的最大空闲连接 +# ??????????? spring.redis.jedis.pool.max-idle=8 -# 连接池中的最小空闲连接 +# ??????????? spring.redis.jedis.pool.min-idle=0 -# 连接超时时间(毫秒) +# ?????????? spring.redis.timeout=5000 \ No newline at end of file diff --git a/src/main/resources/application-test.properties b/src/main/resources/application-test.properties index 7f8f605..2af4f1c 100644 --- a/src/main/resources/application-test.properties +++ b/src/main/resources/application-test.properties @@ -1,12 +1,12 @@ server.port=8081 -# 七牛的密钥配置 +# ??????? qiniu.accessKey= qiniu.secretKey= qiniu.bucket= -# sitemap 存放地址 +# sitemap ???? sitemap.path= -# 生成JWT时候的密钥 +# ??JWT????? jwt.secret=sdaniod213k123123ipoeqowekqwe ##spring.jpa.show-sql=false @@ -14,15 +14,15 @@ jwt.secret=sdaniod213k123123ipoeqowekqwe mybatis.type-handlers-package=cn.celess.blog.mapper.typehandler logging.level.cn.celess.blog.mapper=debug -# 上传单个文件的大小 +# ????????? spring.servlet.multipart.max-file-size=10MB -# 上传文件的总大小 +# ???????? spring.servlet.multipart.max-request-size=10MB spring.jackson.default-property-inclusion=non_null -################# 数据库 ################## +################# ??? ################## spring.datasource.type=com.alibaba.druid.pool.DruidDataSource #h2 @@ -51,7 +51,7 @@ pagehelper.params=count=countSql -#### 用于nginx的代理 获取真实ip +#### ??nginx??? ????ip server.use-forward-headers = true server.tomcat.remote-ip-header = X-Real-IP server.tomcat.protocol-header = X-Forwarded-Proto @@ -75,22 +75,21 @@ spring.mail.properties.mail.smtp.socketFactory.fallback=false ############### redis ############## # REDIS (RedisProperties) -# Redis数据库索引(默认为0) +# Redis?????????0? spring.redis.database=1 -# Redis服务器地址 +# Redis????? spring.redis.host=127.0.0.1 -# Redis服务器连接端口 解决端口冲突 防止使用本地的redis +# Redis??????? ?????? ???????redis spring.redis.port=6380 -# Redis服务器连接密码(默认为空) +# Redis????????????? spring.redis.password= -# 连接池最大连接数(使用负值表示没有限制) +# ???????????????????? spring.redis.jedis.pool.max-active=-1 -# 连接池最大阻塞等待时间(使用负值表示没有限制) +# ??????????????????????? spring.redis.jedis.pool.max-wait=-1 -# 连接池中的最大空闲连接 +# ??????????? spring.redis.jedis.pool.max-idle=8 -# 连接池中的最小空闲连接 +# ??????????? spring.redis.jedis.pool.min-idle=0 -# 连接超时时间(毫秒) -spring.redis.timeout=5000 - +# ?????????? +spring.redis.timeout=5000 \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index e0c3787..ed22106 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,7 +1,7 @@ -spring.profiles.active=prod -####七牛的配置 +spring.profiles.active=dev +#### ????? ####cn.celess.blog.service.serviceimpl.QiniuServiceImpl logging.level.cn.celess.blog=debug logging.level.cn.celess.blog.mapper=info -## 修改openSource 添加-test 文件用于测试 -prod文件用于线上发布 \ No newline at end of file +## ??openSource ??-test ?????? -prod???????? \ No newline at end of file