从属性文件中自动装配布尔基元

时间:2014-03-14 09:51:17

标签: spring autowired

您好我想要从属性文件中自动装配布尔值,并将以下链接与地图网址相关联 Spring properties (property-placeholder) autowiring

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

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

2 个答案:

答案 0 :(得分:13)

使用原始布尔值对我不起作用。但它与布尔类型有关。

这是属性文件的弹簧配置声明:

<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;
...

答案 1 :(得分:2)

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

在应用程序属性中:

my.property=true

在你班上:

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