Java项目关于不同key的读取

.env 在mac中一种影藏文件,而在java 项目中,经常用来配置不同的变量,用来**.yml 中读取。

如以下示例:

.env 配置了,项目中需要的关健Key ,

内容如:

bash 复制代码
OPENAI_API_KEY=sk-be2f5f69f50c4528b90825658d7XXXX0
OPENAI_BASE_URL=https://api.deepseek.com
OPENAI_MODEL=deepseek-chat

在application.yml 文件中就可以读取到这个配置

bash 复制代码
spring:
  application:
    name: spring-ai-mcp-client
  profiles:
    active: dev
  ai:
    mcp:
      client:
        enabled: true
        name: spring-ai-mcp-client
        type: ASYNC
        request-timeout: 120s # 读取超时时间为120秒
        sse:
          connections:
            server1:
              url: https://mcp.amap.com
              sse-endpoint: /sse?key=80889a70a83c01ee56ec25425aeXXXXc
            server2:
              url: http://localhost:9060
              sse-endpoint: /sse
        stdio:
          servers-configuration: classpath:mcp-server.json

    openai:
      api-key: ${OPENAI_API_KEY}
      base-url: ${OPENAI_BASE_URL}
      chat:
        options:
          model: ${OPENAI_MODEL}
    vectorstore:
      redis:
        initialize-schema: true         # 是否初始化所需的模式
        index-name: lee-vectorstore     # 用于存储向量的索引名称
        prefix: 'embedding:'             # Redis 键的前缀


  data:
    redis:
      host: 127.0.0.1
      port: 9379
      password: 123456

logging:
  level:
    root: info

internet:
  websearch:
    searxng:
      url: http://localhost:6080/search
      counts: 10

依赖的maven的 pom.xml 配置

bash 复制代码
        <dependency>
            <groupId>io.github.cdimascio</groupId>
            <artifactId>dotenv-java</artifactId>
            <version>3.2.0</version>
        </dependency>

在项目启动的时候,需要把此.env 配置放到上下文中。

java 复制代码
import io.github.cdimascio.dotenv.Dotenv;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication
public class Application {

    public static void main(String[] args) {

        // 加载.env文件
        Dotenv dotenv = Dotenv.configure().ignoreIfMissing().load();
        // 把.env文件中的变量设置到环境变量中
        dotenv.entries().forEach(entry -> System.setProperty(entry.getKey(), entry.getValue()));

        SpringApplication.run(Application.class, args);
    }

}
相关推荐
@小柯555m1 天前
Java八股刷题
java·开发语言·八股
182******20831 天前
2026新手必看:C语言学到什么程度可以出去找工作
c语言·开发语言
bzmK1DTbd1 天前
Java在人工智能:TensorFlow Java API的使用
java·人工智能·tensorflow
小碗羊肉1 天前
【JavaWeb | 第四篇】分层解耦
java·后端·servlet
EM-FF1 天前
idea快捷键
java·ide·intellij-idea
IT猿手1 天前
光伏模型参数估计:山羊优化算法(Goat Optimization Algorithm, GOA)求解光伏模型参数辨识问题,免费提供完整MATLAB代码链接
开发语言·算法·matlab·智能优化算法·光伏模型参数估计·光伏模型参数辨识·最新群智能算法
薪火铺子1 天前
Redis 分布式锁与 Redisson 原理深度解析
java·redis·分布式·后端
胡楚昊1 天前
BUU WEB之旅(1)
java·数据库·mybatis
kels88991 天前
2026 年黄金实时价格数据 API 接口实测推荐
开发语言·笔记·python·金融·区块链
牢七1 天前
链条合集整理
java·开发语言