From 0fe715ca6dabb011e6255fb83d8e4c6aaad0f060 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Fri, 23 May 2025 14:44:15 +0800 Subject: [PATCH] 'commit' --- .../main/java/com/dsideal/Config/PropKit.java | 38 +++++++++++++++++++ .../com/dsideal/Res/Config/GatewayConfig.java | 26 ++++++------- .../dsideal/Res/Res/Model/ResourceModel.java | 3 +- .../java/com/dsideal/Res/ResApplication.java | 29 ++++---------- .../java/com/dsideal/Res/Util/DbInit.java | 5 ++- .../java/com/dsideal/Res/Util/JwtUtil.java | 3 +- .../java/com/dsideal/Res/Util/MinioUtils.java | 11 +----- .../com/dsideal/Res/_JFinalDemoGenerator.java | 5 ++- dsRes/src/main/resources/application_pro.yaml | 1 - 9 files changed, 68 insertions(+), 53 deletions(-) create mode 100644 dsRes/src/main/java/com/dsideal/Config/PropKit.java diff --git a/dsRes/src/main/java/com/dsideal/Config/PropKit.java b/dsRes/src/main/java/com/dsideal/Config/PropKit.java new file mode 100644 index 00000000..bb15d95e --- /dev/null +++ b/dsRes/src/main/java/com/dsideal/Config/PropKit.java @@ -0,0 +1,38 @@ +package com.dsideal.Config; + +import com.dsideal.Res.Plugin.YamlProp; +import com.jfinal.kit.Prop; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class PropKit { + private static final Logger logger = LoggerFactory.getLogger(PropKit.class); + + public static String getEnvPrefix() { + String myEnvVar = System.getenv("WORKING_ENV"); + if (myEnvVar == null) { + myEnvVar = "dev"; + } + return myEnvVar; + } + + public static Prop prop; + public static String configFile; + + static { + //加载配置文件 + configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix()); + prop = new YamlProp(configFile); + } + + public static String get(String key) { + if (!prop.containsKey(key)) { + throw new RuntimeException("没有找到配置文件" + configFile + "中的键值:" + key); + } + return prop.get(key); + } + + public static int getInt(String key) { + return prop.getInt(key); + } +} diff --git a/dsRes/src/main/java/com/dsideal/Res/Config/GatewayConfig.java b/dsRes/src/main/java/com/dsideal/Res/Config/GatewayConfig.java index 0283cd8b..e94687bb 100644 --- a/dsRes/src/main/java/com/dsideal/Res/Config/GatewayConfig.java +++ b/dsRes/src/main/java/com/dsideal/Res/Config/GatewayConfig.java @@ -1,23 +1,21 @@ package com.dsideal.Res.Config; -import com.dsideal.Res.ResApplication; -import com.jfinal.kit.Prop; +import com.dsideal.Config.PropKit; public class GatewayConfig { - private static final Prop prop = ResApplication.PropKit; - // 超时配置 - public static final int CONNECT_TIMEOUT = prop.getInt("gateway.timeout.connect", 10000); - public static final int READ_TIMEOUT = prop.getInt("gateway.timeout.read", 30000); - public static final int WRITE_TIMEOUT = prop.getInt("gateway.timeout.write", 30000); + public static final int CONNECT_TIMEOUT = PropKit.getInt("gateway.timeout.connect"); + public static final int READ_TIMEOUT = PropKit.getInt("gateway.timeout.read"); + public static final int WRITE_TIMEOUT = PropKit.getInt("gateway.timeout.write"); // 连接池配置 - public static final int MAX_CONNECTIONS = prop.getInt("gateway.connection.max", 5); - public static final int KEEP_ALIVE_DURATION = prop.getInt("gateway.connection.keep-alive", 300); + public static final int MAX_CONNECTIONS = PropKit.getInt("gateway.connection.max"); + public static final int KEEP_ALIVE_DURATION = PropKit.getInt("gateway.connection.keep-alive"); // 安全配置 - public static final String[] ALLOWED_ORIGINS = prop.get("gateway.security.cors.allowed-origins", "*").split(","); - public static final String[] ALLOWED_METHODS = prop.get("gateway.security.cors.allowed-methods", "GET,POST,OPTIONS").split(","); - public static final String[] ALLOWED_HEADERS = prop.get("gateway.security.cors.allowed-headers", "Content-Type,Authorization,Cookie").split(","); - public static final boolean ALLOW_CREDENTIALS = prop.getBoolean("gateway.security.cors.allow-credentials", true); - public static final int MAX_AGE = prop.getInt("gateway.security.cors.max-age", 3600);} \ No newline at end of file +// public static final String[] ALLOWED_ORIGINS = PropKit.get("gateway.security.cors.allowed-origins", "*").split(","); +// public static final String[] ALLOWED_METHODS = PropKit.get("gateway.security.cors.allowed-methods", "GET,POST,OPTIONS").split(","); +// public static final String[] ALLOWED_HEADERS = PropKit.get("gateway.security.cors.allowed-headers", "Content-Type,Authorization,Cookie").split(","); +// public static final boolean ALLOW_CREDENTIALS = PropKit.getBoolean("gateway.security.cors.allow-credentials", true); +// public static final int MAX_AGE = PropKit.getInt("gateway.security.cors.max-age", 3600); +} \ No newline at end of file diff --git a/dsRes/src/main/java/com/dsideal/Res/Res/Model/ResourceModel.java b/dsRes/src/main/java/com/dsideal/Res/Res/Model/ResourceModel.java index 45541c0b..e7d64c9d 100644 --- a/dsRes/src/main/java/com/dsideal/Res/Res/Model/ResourceModel.java +++ b/dsRes/src/main/java/com/dsideal/Res/Res/Model/ResourceModel.java @@ -1,6 +1,7 @@ package com.dsideal.Res.Res.Model; import cn.hutool.core.date.DateTime; +import com.dsideal.Config.PropKit; import com.dsideal.Res.ResApplication; import com.jfinal.kit.Kv; import com.jfinal.kit.StrKit; @@ -164,7 +165,7 @@ public class ResourceModel { public List getThumbs() { //http://10.10.14.210:9000/dsideal/Thumbs/493A0236-E4E0-20DD-45EF-D1B8D997D510.png List list = Db.findAll("t_resource_thumb"); - String prefix = ResApplication.PropKit.get("minio.url") + "/Thumbs/"; + String prefix = PropKit.get("minio.url") + "/Thumbs/"; for (Record record : list) { record.set("thumb_name", prefix + record.getStr("thumb_name")); } diff --git a/dsRes/src/main/java/com/dsideal/Res/ResApplication.java b/dsRes/src/main/java/com/dsideal/Res/ResApplication.java index 57f1b693..62ba208f 100644 --- a/dsRes/src/main/java/com/dsideal/Res/ResApplication.java +++ b/dsRes/src/main/java/com/dsideal/Res/ResApplication.java @@ -1,56 +1,40 @@ package com.dsideal.Res; +import com.dsideal.Config.PropKit; import com.dsideal.Res.Base.Controller.BaseController; import com.dsideal.Res.Index.IndexController; import com.dsideal.Res.Interceptor.*; import com.dsideal.Res.Model._MappingKit; -import com.dsideal.Res.Plugin.YamlProp; import com.dsideal.Res.Res.Controller.ResourceController; import com.dsideal.Res.Util.FileUtil; import com.dsideal.Res.Util.LogBackLogFactory; import com.jfinal.config.*; -import com.jfinal.kit.Prop; import com.jfinal.plugin.activerecord.ActiveRecordPlugin; import com.jfinal.plugin.activerecord.dialect.MysqlDialect; import com.jfinal.plugin.druid.DruidPlugin; import com.jfinal.plugin.redis.RedisPlugin; import com.jfinal.server.undertow.UndertowServer; import com.jfinal.template.Engine; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.File; public class ResApplication extends JFinalConfig { + private static final Logger logger = LoggerFactory.getLogger(ResApplication.class); - public static String getEnvPrefix() { - String myEnvVar = System.getenv("WORKING_ENV"); - if (myEnvVar == null) { - myEnvVar = "dev"; - } - return myEnvVar; - } public static void main(String[] args) { - System.out.println("当前环境: " + getEnvPrefix()); + System.out.println("当前环境: " + PropKit.getEnvPrefix()); UndertowServer.create(ResApplication.class, "undertow.properties").start(); } - /** - * 配置常量 - */ - public static Prop PropKit; - static { - //加载配置文件 - String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix()); - PropKit = new YamlProp(configFile); - } @Override public void configConstant(Constants me) { //使用LogBack me.setLogFactory(new LogBackLogFactory()); - // 设置静态根目录为上传根目录 - me.setBaseUploadPath(PropKit.get("uploadTempPath")); } /** @@ -99,7 +83,8 @@ public class ResApplication extends JFinalConfig { //加载 me.add(arp); // 用于缓存模块的redis服务 - RedisPlugin redis = new RedisPlugin("Redis", PropKit.get("redis.ip"), PropKit.getInt("redis.port"), 10 * 1000, PropKit.get("redis.password")); + RedisPlugin redis = new RedisPlugin("Redis", PropKit.get("redis.ip"), + PropKit.getInt("redis.port"), 10 * 1000, null); //启动redis组件 me.add(redis); } diff --git a/dsRes/src/main/java/com/dsideal/Res/Util/DbInit.java b/dsRes/src/main/java/com/dsideal/Res/Util/DbInit.java index 142c7f5a..04e0633c 100644 --- a/dsRes/src/main/java/com/dsideal/Res/Util/DbInit.java +++ b/dsRes/src/main/java/com/dsideal/Res/Util/DbInit.java @@ -1,5 +1,6 @@ package com.dsideal.Res.Util; +import com.dsideal.Config.PropKit; import com.dsideal.Res.Model._MappingKit; import com.dsideal.Res.ResApplication; import com.jfinal.plugin.activerecord.ActiveRecordPlugin; @@ -12,8 +13,8 @@ public class DbInit { public static void Start(){ //加载数据库 - DruidPlugin plugin = new DruidPlugin(ResApplication.PropKit.get("mysql.jdbcUrl"), ResApplication.PropKit.get("mysql.user"), - ResApplication.PropKit.get("mysql.password").trim(), ResApplication.PropKit.get("mysql.driverClassName")); + DruidPlugin plugin = new DruidPlugin(PropKit.get("mysql.jdbcUrl"), PropKit.get("mysql.user"), + PropKit.get("mysql.password").trim(), PropKit.get("mysql.driverClassName")); plugin.start(); // 配置ActiveRecord插件 ActiveRecordPlugin arp = new ActiveRecordPlugin("master", plugin); diff --git a/dsRes/src/main/java/com/dsideal/Res/Util/JwtUtil.java b/dsRes/src/main/java/com/dsideal/Res/Util/JwtUtil.java index d65cb46d..87dc6037 100644 --- a/dsRes/src/main/java/com/dsideal/Res/Util/JwtUtil.java +++ b/dsRes/src/main/java/com/dsideal/Res/Util/JwtUtil.java @@ -1,5 +1,6 @@ package com.dsideal.Res.Util; +import com.dsideal.Config.PropKit; import com.dsideal.Res.ResApplication; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; @@ -16,7 +17,7 @@ import java.util.Map; public class JwtUtil { public static final String AUTHORIZATION_STARTER = "Bearer "; - public static final String SECRET = ResApplication.PropKit.get("jwt.SECRET"); + public static final String SECRET = PropKit.get("jwt.SECRET"); // 生成安全的密钥 private static final SecretKey key = Keys.hmacShaKeyFor(SECRET.getBytes(StandardCharsets.UTF_8)); diff --git a/dsRes/src/main/java/com/dsideal/Res/Util/MinioUtils.java b/dsRes/src/main/java/com/dsideal/Res/Util/MinioUtils.java index 04401cf2..221b1729 100644 --- a/dsRes/src/main/java/com/dsideal/Res/Util/MinioUtils.java +++ b/dsRes/src/main/java/com/dsideal/Res/Util/MinioUtils.java @@ -1,9 +1,9 @@ package com.dsideal.Res.Util; import cn.hutool.core.io.FileUtil; +import com.dsideal.Config.PropKit; import com.dsideal.Res.Plugin.YamlProp; import com.jfinal.kit.PathKit; -import com.jfinal.kit.Prop; import io.minio.GetPresignedObjectUrlArgs; import io.minio.MinioClient; import io.minio.SetBucketPolicyArgs; @@ -16,10 +16,7 @@ import java.io.IOException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; -import static com.dsideal.Res.ResApplication.getEnvPrefix; - public class MinioUtils { - public static Prop PropKit; public static String minio_endpoint; public static String minio_accesskey; public static String minio_secretkey; @@ -27,8 +24,6 @@ public class MinioUtils { static { //加载配置文件 - String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix()); - PropKit = new YamlProp(configFile); minio_endpoint = PropKit.get("minio.endpoint"); minio_accesskey = PropKit.get("minio.accessKey"); minio_secretkey = PropKit.get("minio.secretKey"); @@ -117,10 +112,6 @@ public class MinioUtils { } public static void main(String[] args) throws Exception { - //加载配置文件 - String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix()); - PropKit = new YamlProp(configFile); - MinioClient client = getMinioClient(); //测试样例 //http://10.10.14.212:9000/dsideal/%E5%AE%89%E5%90%89%E4%B8%BD%E5%A8%9C%E6%9C%B1%E8%8E%89.jpg diff --git a/dsRes/src/main/java/com/dsideal/Res/_JFinalDemoGenerator.java b/dsRes/src/main/java/com/dsideal/Res/_JFinalDemoGenerator.java index 207dfc88..f2e9b31a 100644 --- a/dsRes/src/main/java/com/dsideal/Res/_JFinalDemoGenerator.java +++ b/dsRes/src/main/java/com/dsideal/Res/_JFinalDemoGenerator.java @@ -5,6 +5,7 @@ import java.time.LocalDateTime; import java.util.Date; import javax.sql.DataSource; +import com.dsideal.Config.PropKit; import com.jfinal.plugin.activerecord.dialect.MysqlDialect; import com.jfinal.plugin.activerecord.generator.Generator; import com.jfinal.plugin.activerecord.generator.TypeMapping; @@ -19,8 +20,8 @@ import com.jfinal.plugin.druid.DruidPlugin; public class _JFinalDemoGenerator { public static DataSource getDataSource() { - DruidPlugin plugin = new DruidPlugin(ResApplication.PropKit.get("mysql.jdbcUrl"), ResApplication.PropKit.get("mysql.user"), - ResApplication.PropKit.get("mysql.password").trim(), ResApplication.PropKit.get("mysql.driverClassName")); + DruidPlugin plugin = new DruidPlugin(PropKit.get("mysql.jdbcUrl"), PropKit.get("mysql.user"), + PropKit.get("mysql.password").trim(), PropKit.get("mysql.driverClassName")); plugin.start(); return plugin.getDataSource(); } diff --git a/dsRes/src/main/resources/application_pro.yaml b/dsRes/src/main/resources/application_pro.yaml index 36bb2edf..f70b63a3 100644 --- a/dsRes/src/main/resources/application_pro.yaml +++ b/dsRes/src/main/resources/application_pro.yaml @@ -14,7 +14,6 @@ mysql: redis: ip: 10.10.14.14 port: 18890 - # JWT jwt: SECRET: ZXZnZWVr5b+r5LmQ5L2g55qE5Ye66KGM