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

如果@configurationproperties中的位置在1.5版中已经删除,那么有没有办法为yaml文件提供位置

孟华晖
2023-03-14

如何在组件类中使用各种YAML文件中定义的属性?

以前它是使用@configurationproperties(locations=“classpath:abc/somelocation.yml”)来完成的,但是现在属性被删除了。在1.5版中,另一种定义的方法是什么?

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
@PropertySource("classpath:applicationConstants.properties")
@ConfigurationProperties("constant")
public class ReadApplicationConstants {

    private String clientId;

    public String getClientId() {
        return clientId;
    }

    public void setClientId(String clientId) {
        this.clientId = clientId;
    }

}

因此,当在任何方法中使用getClientId时,我都会得到null指针异常。

共有1个答案

齐飞星
2023-03-14

如果您的clientId来自属性文件,则必须将它与字段上的@value注释一起注入。示例:

    @Value(value = "${clientId}")
 类似资料:
  • 我正在开发一个Eclipse rcp应用程序,其中提供了各种插件。每个插件都有自己的处理器,可以通过编程将更多元素插入到可能存在的MToolbares中(使用现有的MToolBarElements)。插入元素的顺序取决于插件的初始化顺序,除了插件之间的依赖关系外,初始化顺序是不确定的。但是,在插件之间创建一个人工依赖项来强制插件的初始化顺序并不是一种选择。 是否有一种开箱即用的方法来相对于彼此排列

  • LibGDX使用LWJGL作为后端,因此LwjglApplication Configuration用于设置窗口的属性(例如可调整大小、宽度、高度等)---但似乎没有任何设置能够设置窗口在屏幕上的位置。 我的游戏以1280x720分辨率运行。我的笔记本电脑的分辨率是1366x768。当我运行游戏时,游戏窗口的一小部分隐藏在屏幕底部,看不见。通过向上拖动窗口可以很容易地解决这个问题,但如果不需要拖动

  • 问题内容: Spring Boot文档说要使用注释 您还需要列出要在注释中注册的属性类 ,如以下示例所示: 并给出以下代码: 但是在下一段中说: 即使前面的配置为AcmeProperty创建了常规bean,我们也建议仅处理环境,尤其不要从上下文中注入其他bean。话虽如此, 注释也会自动应用到您的项目中,以便从环境配置任何使用@ConfigurationProperties注释的现有bean。 建

  • 问题内容: 今天,我已经将整个Spring Web应用程序从使用Spring升级到了Spring 。 我现有应用程序的大部分内容都不会中断,除了在Spring中, 该类似乎已从 spring-context-3.2.0.RELEASE.jar中 完全删除。 我在此网址中找到了迁移指南。 它说该类刚刚被弃用,但实际上它已被完全删除。 也许我只是弄错了,我想知道VelocityEngineUtils类

  • 我将Application类增强为Configuration类,并将其标记为@Component,以便提供的值可以在使用代码中自动安装: 我尝试了自动连接上述数据源: 在我的pom中。xml我使用了spring boot starter数据jpa。 但它不起作用: 为什么?

  • 这是我的小片段。 在中,我有以下值 name和version是将被注入的gradle的属性。 但是,当我从Intellij开始使用springBoot运行程序时,我得到以下错误。 当我按如下方式替换application.properties时,它在intellij中的spring boot runner中工作,但gradle构建失败 我如何告诉spring boot忽略任何丢失的占位符值? 编辑