diff --git a/dsBase/dsBase.iml b/dsBase/dsBase.iml index 97714aba..8800e35c 100644 --- a/dsBase/dsBase.iml +++ b/dsBase/dsBase.iml @@ -3,6 +3,7 @@ + \ No newline at end of file diff --git a/dsGw/pom.xml b/dsGw/pom.xml index db8134e3..9628d7f8 100644 --- a/dsGw/pom.xml +++ b/dsGw/pom.xml @@ -184,6 +184,12 @@ ${lombok.version} provided + + com.dsideal + dsUtils + 1.0 + compile + diff --git a/dsGw/src/main/java/com/dsideal/gw/Config/GatewayConfig.java b/dsGw/src/main/java/com/dsideal/gw/Config/GatewayConfig.java index 26b7bbef..8e19f5fa 100644 --- a/dsGw/src/main/java/com/dsideal/gw/Config/GatewayConfig.java +++ b/dsGw/src/main/java/com/dsideal/gw/Config/GatewayConfig.java @@ -1,23 +1,20 @@ package com.dsideal.gw.Config; -import com.dsideal.gw.GwApplication; -import com.jfinal.kit.Prop; - +import com.dsideal.Config.PropKit; public class GatewayConfig { - private static final Prop prop = GwApplication.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", 10000); + public static final int READ_TIMEOUT = PropKit.getInt("gateway.timeout.read", 30000); + public static final int WRITE_TIMEOUT = PropKit.getInt("gateway.timeout.write", 30000); // 连接池配置 - 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", 5); + public static final int KEEP_ALIVE_DURATION = PropKit.getInt("gateway.connection.keep-alive", 300); // 安全配置 - 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/dsGw/src/main/java/com/dsideal/gw/GwApplication.java b/dsGw/src/main/java/com/dsideal/gw/GwApplication.java index 605b9cae..aa9d4666 100644 --- a/dsGw/src/main/java/com/dsideal/gw/GwApplication.java +++ b/dsGw/src/main/java/com/dsideal/gw/GwApplication.java @@ -1,12 +1,11 @@ package com.dsideal.gw; import cn.hutool.core.io.FileUtil; +import com.dsideal.Config.PropKit; import com.dsideal.gw.Contoller.IndexController; import com.dsideal.gw.Handler.RouterHandler; -import com.dsideal.gw.Plugin.YamlProp; import com.dsideal.gw.Util.LogBackLogFactory; import com.jfinal.config.*; -import com.jfinal.kit.Prop; import com.jfinal.plugin.redis.RedisPlugin; import com.jfinal.server.undertow.UndertowServer; import com.jfinal.template.Engine; @@ -21,21 +20,10 @@ public class GwApplication extends JFinalConfig { private static final Logger logger = LoggerFactory.getLogger(GwApplication.class); - /** - * 功能:获取是否为开发环境 - * - * @return - */ - 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()); String configFile = "undertow.properties"; UndertowServer.create(GwApplication.class, configFile).start(); } @@ -46,13 +34,6 @@ public class GwApplication extends JFinalConfig { //白名单 public static Set whiteSet = new HashSet<>(); - public static Prop PropKit; - - static { - //加载配置文件 - String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix()); - PropKit = new YamlProp(configFile); - } /** * 配置常量 @@ -62,9 +43,6 @@ public class GwApplication extends JFinalConfig { //使用LogBack me.setLogFactory(new LogBackLogFactory()); - // 设置静态根目录为上传根目录 - me.setBaseUploadPath(PropKit.get("uploadTempPath")); - // 获取所有配置项,得到路由表 for (Map.Entry entry : PropKit.getProperties().entrySet()) { if (entry.getKey().toString().startsWith("route")) { diff --git a/dsGw/src/main/java/com/dsideal/gw/Util/JwtUtil.java b/dsGw/src/main/java/com/dsideal/gw/Util/JwtUtil.java index f26f5e2d..0c8d224e 100644 --- a/dsGw/src/main/java/com/dsideal/gw/Util/JwtUtil.java +++ b/dsGw/src/main/java/com/dsideal/gw/Util/JwtUtil.java @@ -1,6 +1,6 @@ package com.dsideal.gw.Util; -import com.dsideal.gw.GwApplication; +import com.dsideal.Config.PropKit; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; @@ -16,7 +16,7 @@ import java.util.Map; public class JwtUtil { public static final String AUTHORIZATION_STARTER = "Bearer "; - public static final String SECRET = GwApplication.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/dsUtils/src/main/java/com/dsideal/Config/PropKit.java b/dsUtils/src/main/java/com/dsideal/Config/PropKit.java index 4757450b..ab02a2ed 100644 --- a/dsUtils/src/main/java/com/dsideal/Config/PropKit.java +++ b/dsUtils/src/main/java/com/dsideal/Config/PropKit.java @@ -4,6 +4,9 @@ import com.jfinal.kit.Prop; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Map; +import java.util.Properties; + public class PropKit { private static final Logger logger = LoggerFactory.getLogger(PropKit.class); @@ -31,7 +34,30 @@ public class PropKit { return prop.get(key); } + public static String get(String key,String defaultValue) { + if (!prop.containsKey(key)) { + throw new RuntimeException("没有找到配置文件" + configFile + "中的键值:" + key); + } + return prop.get(key,defaultValue); + } + + public static boolean getBoolean(String key,boolean defaultValue){ + return prop.getBoolean(key,defaultValue); + } + + public static boolean getBoolean(String key){ + return prop.getBoolean(key); + } + + public static Properties getProperties() { + return prop.getProperties(); + } + public static int getInt(String key) { return prop.getInt(key); } + + public static int getInt(String key, int defaultValue) { + return prop.getInt(key, defaultValue); + } }