puzhibing
2026-03-25 fad130f9b6839c6e3a29656cd9b2a0c0cf45f063
修改jwt密码获取方式
2个文件已修改
39 ■■■■■ 已修改文件
xp-robotaxi-common/xp-common-core/src/main/java/com/xiaopeng/common/core/utils/ConfigUtils.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-common/xp-common-core/src/main/java/com/xiaopeng/common/core/utils/JwtUtils.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-common/xp-common-core/src/main/java/com/xiaopeng/common/core/utils/ConfigUtils.java
@@ -2,32 +2,41 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
@Component
public class ConfigUtils {
    private static Environment env;
    // 1. 正常注入非静态字段
    @Value("${token.secret}")
    private String secret;
    @Autowired
    public void setEnv(Environment environment) {
        ConfigUtils.env = environment;
    private static ConfigUtils instance;
    @PostConstruct
    public void init() {
        instance = this;
    }
    public static String getProperty(String key) {
        if (env == null) {
            throw new IllegalStateException("Environment not injected yet");
    // 3. 提供静态方法供外部调用
    public static String getMyConfigValue() {
        if (instance == null) {
            throw new IllegalStateException("ConfigUtils has not been initialized by Spring yet.");
        }
        return env.getProperty(key);
        return instance.secret;
    }
    public static String getProperty(String key, String defaultValue) {
        if (env == null) {
            return defaultValue;
    // 如果需要修改值,也可以提供静态 setter (视需求而定)
    public static void setMyConfigValue(String value) {
        if (instance != null) {
            instance.secret = value;
        }
        return env.getProperty(key, defaultValue);
    }
}
xp-robotaxi-common/xp-common-core/src/main/java/com/xiaopeng/common/core/utils/JwtUtils.java
@@ -24,7 +24,7 @@
     */
    public static String createToken(Map<String, Object> claims)
    {
        String secret = ConfigUtils.getProperty("token.secret");
        String secret = ConfigUtils.getMyConfigValue();
        String token = Jwts.builder().setClaims(claims).signWith(SignatureAlgorithm.HS512, secret).compact();
        return token;
    }
@@ -37,7 +37,7 @@
     */
    public static Claims parseToken(String token)
    {
        String secret = ConfigUtils.getProperty("token.secret");
        String secret = ConfigUtils.getMyConfigValue();
        return Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody();
    }