【问题标题】:autowire boolean primitive from properties file来自属性文件的自动装配布尔原语
【发布时间】:2014-04-19 12:51:14
【问题描述】:

您好,我想从属性文件中自动装配布尔值已引用以下链接和地图 url Spring properties (property-placeholder) autowiring

但我想自动连接一个布尔属性,也提到了问题 Spring Autowire 原始布尔 Spring Autowire primitive boolean 但这是针对 bean 值的,在我的情况下,我想使用点分隔的属性值来做同样的事情。

${does.it.allow} // 失败并且不能将 String 转换为布尔值 #{does.it.allow} // 这没有给出用名称 does 定义的 bean/property,但我有正确的属性文件,它证明容器能够加载它,因为第一个错误。

【问题讨论】:

    标签: spring autowired


    【解决方案1】:

    原始布尔值对我不起作用。但它适用于布尔类型。

    这是我的属性文件的spring配置声明:

    <context:property-placeholder location="classpath:path/to/file/configuracion.properties" />
    

    这是我的属性文件中的内容:

    my.property=false
    

    这是我成功的服务课:

    ...
    @Service
    public class MyServiceImpl implements MyService{
    ...
        @Value("${my.property}")
        private Boolean nameOfProperty;
    ...
    

    【讨论】:

      【解决方案2】:

      至少从 Spring 5 开始(我没有测试以前的版本),您可以自动装配布尔原语。

      在应用程序属性中:

      my.property=true
      

      在你的课堂上:

      @Value("${my.property}")
      private boolean myProperty;
      

      【讨论】:

      • 您还可以使用 Spring 5 自动装配包装的布尔数据类型。在我的工作区中尝试过,就像一个魅力 :)
      猜你喜欢
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-22
      • 2011-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多