当前位置: 首页 > 知识库问答 >
问题:

在java中读取application.yaml文件时获取空值

陆野
2023-03-14

我正在尝试从我的应用程序中获取数据。将内容配置文件详细信息转换为变量的yaml文件

应用yaml文件内容

spring.profiles.active: dev
---
spring.config.activate.on-profile: dev

application.id : dev-app
my.server : localhost:8080
---
spring.config.activate.on-profile: uat

application.id : uat-app
my.server : localhost:8081

应用程序。Java语言

@SpringBootApplication
public class App {

@Value("${application.id}")
private String applicationId;

@Value("${my.server}")
private String server;

 public static void main(String args[]) {

    SpringApplication.run(App.class, args);

    App app = new App();
    app.display();

}

public void display(){
   System.out.println("Application Id : "+ applicationId);
   System.out.println("Server : "+ server);
}

}

输出:

2022-06-08 19:38:29 main INFO  App:640 - The following 1 profile is active: "dev"
2022-06-08 19:38:30 main INFO  App:61 - Started App in 2.266 seconds (JVM running for 3.345)
Application Id : null
Server : null

您能帮助我理解为什么its没有从yaml文件中选取值吗?

共有1个答案

长孙鸿振
2023-03-14

在您的yml中,您所拥有的内容是以“.properties”文件格式格式化的,您需要将您的属性格式化为yml格式。因此,您的yml文件的格式应如下所示:

spring:
  profiles:
    active: dev
  config:
    activate:
  onProfile: dev

application:
  id : dev-app

等...

 类似资料:
  • 问题内容: 我在使用spring通过java阅读yaml时遇到问题。让我先显示代码 我的yaml文件: Spring上下文xml也具有以下内容: 现在,我的期望是,在我的春季测试应用程序运行期间(上下文xml来自我的测试资源,yaml也处于我的测试中),这些orders和requests值已设置,但它们为空。另外,请注意,除了使用@Value($ {…})注入的值之外,yaml中还有其他值,注入它

  • 我正试图编写一个程序,读取网络中相互交互的节点列表。它以以下格式写入文本文件: 这表示节点1与节点2和节点3交互,节点2仅与节点3交互,等等。 该程序将能够读取该文件,并将删除任何重复的交互,并且如果我输入节点的名称,将能够向我返回节点与其他节点的交互次数。然而,我对Java非常陌生,我首先尝试让它读入文件,尽管我的代码目前没有读入文件。以下是我迄今为止的代码: 任何关于如何解决此问题的帮助都将不

  • 主要内容:Jsoup 读取文件获取HTML 语法,Jsoup 读取文件获取HTML 说明,Jsoup 读取文件获取HTML 示例以下示例将展示使用文件从磁盘获取 HTML,然后查找其数据。 Jsoup 读取文件获取HTML 语法 document : 文档对象代表 HTML DOM。 Jsoup : 连接 url 并获取 HTML 字符串的主类。 url : 要加载的 html 页面的 url。 Jsoup 读取文件获取HTML 说明 connect(url) 方法建立到 url 的连接,get

  • 我需要从我的DYNAMIC WEB PROJECT读取一个config.xml文件。我已将我的文件放在文件夹结构MyProj/WebContent/WEB-INF/class/config.xml文件夹中。当我打印文件的绝对路径new File(config.xml). getAbsoltePath()时,它会检查eclipse主目录(C:\Temp\eclipse\eclipse)而不是我的项目

  • 问题内容: 阅读部分不是并发的,但处理是并发的。我用这种方式来命名标题,因为我最有可能使用该短语再次搜索此问题。:) 尝试 超越示例 之后,我陷入僵局,因此这对我来说是一种学习经验。我的目标是: 逐行读取文件(最终使用缓冲区执行多行)。 将文本传递给执行某些正则表达式的工作。 将结果发送到某个地方,但要避免使用互斥或​​共享变量。我正在将整数(总是数字1)发送到通道。这有点愚蠢,但是如果不引起问题

  • 问题内容: 我有一些代码可以从文件中读取行,我想识别行何时开始或fisrt字符(非空白)为’ ‘并忽略它,因此在while语句中添加如下内容 我有类似的东西: 如何完成代码? 问题答案: