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

Springboot-根据方法名从application.yml注入

易风华
2023-03-14

我引用了Spring boot-inject map from application.yml来从application.yml文件中注入map

下面是我的application.yml代码段

easy.app.pairMap:
    test1: 'value1' 
    test2: 'value2'

属性文件如下所示

@Component
@Configuration
@ConfigurationProperties("easy.app")
@EnableConfigurationProperties
public class TestProperties {



private Map<String, String> pairMap= new HashMap<String, String>();

public void setPairMap(Map<String, String> pairMap) {
    this.pairMap= pairMap;
}

但是,我发现只有当setter和getter的格式正确时才会发生值注入,即getPairMap和setPairMap。在使用getPairs或setpairs时不是这种行为的原因是什么

共有1个答案

易飞文
2023-03-14

Spring使用属性全名easy.app.PairMap通过前缀easy.app查找ConfigurationProperties然后尝试查找名称为SetPairMap的setter,它使用属性名PairMap并将其“转换”为SetPairMap

如果创建方法,setpairs属性名称应该类似于easy.app.pairs

 类似资料:
  • 在我们项目的一个公共库中,我需要根据使用它的服务来区分一个接口的两个实现。 我通过构造函数注入来注入这个接口,并且需要找出如何根据我们的application.yml中的属性值来确定使用什么实现。 我查看了@Qualifier注释,但它似乎确实需要xml模式中的一个属性。我们没有这样的东西。 在我们代码的一部分中,我们以这种方式读出KafkaListener的属性 我可以在Spring中使用相同的

  • 问题内容: 我有一个带有以下内容的Spring Boot应用程序-基本上是从这里获取的: 我可以注入特定的值,例如 但是,我想注入整个地图,例如: 那(或类似的东西)可能吗?显然,我可以直接加载yaml,但是想知道Spring是否已经支持了某些东西。 问题答案: 你可以使用插入地图 使用问题中的yaml运行它会产生: 有多种选项可用于设置前缀,控制如何处理缺少的属性等。有关更多信息,请参见java

  • 我有一个带有以下的spring boot应用程序--基本上取自这里: 我可以注入特定的值,例如。 然而,我想注入整个地图,即如下所示: 那(或类似的事情)可能吗?显然,我可以直接加载yaml,但我想知道spring是否已经支持了一些东西。

  • 本文向大家介绍springboot注入servlet的方法,包括了springboot注入servlet的方法的使用技巧和注意事项,需要的朋友参考一下 问:有了springMVC,为什么还要用servlet?有了servlet3的注解,为什么还要使用ServletRegistrationBean注入的方式? 使用场景:在有些场景下,比如我们要使用hystrix-dashboard,这时候就需要注入

  • 本文向大家介绍在SpringBoot 中从application.yml中获取自定义常量方式,包括了在SpringBoot 中从application.yml中获取自定义常量方式的使用技巧和注意事项,需要的朋友参考一下 要注意的地方是 application.yml 中不能用驼峰式写法(systemParams)要改成system-params 方法一: 引入依赖: 配置文件(applicatio

  • 是否可以根据SpringAOP中的参数名称获取方法参数值。 这种方法将获得参数名,而不是值。 将返回值而不是名称 那么是否可以根据参数名获取值?