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

环境getProperty null-Spring启动Spring云

长孙正卿
2023-03-14

我有一个与org自动连接的控制器。springframework。果心环境。环境

@Controller public class RegistrationController{

@Autowired (required=false)
private ServiceA serviceA;

@Autowired
Environment env;

Spring Boot模块配置了云配置客户端。它在启动时从配置服务器读取配置。

控制器通过其方法之一从环境中获取值。

   Integer.valueOf(env.getProperty("services.fixeddelay.val"));

但是当我通过刷新endpoint/刷新刷新时,环境中的属性会为null。

经过几次刷新后,它将获得值。这样自动布线有问题吗?我应该在这里使用RefreshScope吗?工作原理。

共有1个答案

充运浩
2023-03-14

问题出在属性spring上。应用从配置服务器加载的配置中的名称。该属性是在config server中错误给定的,尽管它在类路径:引导中有一个正确的值。yml。

第一次刷新后,将从环境中清除现有属性。第二次刷新后,将加载环境值。

删除属性spring。应用配置服务器属性文件中的名称修复了该问题。现在,即使没有RefreshScope,刷新也可以正常工作

 类似资料:
  • 我正在使用一个Maven多模块,其中一场战争取决于另一场战争。 Spring Boot webapp依赖于只提供html文件的基本webapp。 当我运行SpringBoot应用程序时,我能够从主webapp(SpringBoot应用程序)访问服务和html,但是我不能从DependencyWar(404)访问html文件。但是这些html文件在SpringBootWebApp战争中得到了很好的打

  • 主要内容:在Eclipse上设置Spring Batch批处理在本章中,我们将演示如何在Eclipse IDE中设置Spring Batch环境。 在继续安装之前,请确保您已在系统中安装了Eclipse。 如果没有,请在您的系统中下载并安装Eclipse。 有关Eclipse的更多信息,请参阅我们的Eclipse教程。 在Eclipse上设置Spring Batch批处理 按照下面给出的步骤在Eclipse上设置Spring Batch环境。 第1步 - 安

  • env是< code>null,有些配置使用< code>@Value()也无法获取值,总是< code>null 我们添加这个拦截器< code > registry . addinterceptor(new Interceptor())。addpath patterns("/* * ");它是< code >新的!< br >获取值的一种方法是< code > bean factory . g

  • 我有一个具有两个实体的应用程序,它们具有双向一对多关系。车主和自行车。 因此,通过curl获得所有者将 这很好。 如果我创建一个在表中循环的模板, 然后我在浏览器中得到了预期的结果。我意识到上面的代码很糟糕,但我现在只对让thymeleaf工作感兴趣。 但是如果我执行以下代码 然后我得到以下控制台错误 嵌套的异常是org。百里香。例外情况。TemplateProcessingException:异

  • 我在启动spring boot应用程序时遇到以下错误。这是我的第一个spring boot项目。因此,我不确定错误以及如何修复它。 申请启动失败 描述: 配置为侦听端口8080的Tomcat连接器无法启动。端口可能已在使用中,或者连接器可能配置错误。 行动: 验证连接器的配置,识别并停止在端口8080上侦听的任何进程,或者将此应用程序配置为在另一个端口上侦听。

  • 问题内容: 我的Maven依赖有什么问题。当我包含JPA时,我会列出pf例外 这是我的Maven依赖项 我的例外 和我的源代码 因此,我没有任何想法(不幸的是,没有示例)如何运行Spring boot和hibernate状态。 问题答案: 您是否为数据源设置了或?这是一个例子: 有关可以在何处放置配置文件以及如何配置应用程序以处理任何目录中的属性文件的说明,请参阅此链接以获取更多信息。