Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Spring将布尔bean创建转换为布尔_Java_Spring_Dependency Injection_Boolean - Fatal编程技术网

Java 使用Spring将布尔bean创建转换为布尔

Java 使用Spring将布尔bean创建转换为布尔,java,spring,dependency-injection,boolean,Java,Spring,Dependency Injection,Boolean,因此,我的一个java文件中有类似的内容: @Resource(name=“initializationCache”) 布尔初始化缓存; 在配置文件中,我有以下内容: 我将如何使用基本布尔值来实现这一点 在Spring3中,您可以使用@Value: @Value("${initialization.cache}") boolean initializationCache; 我想一种方法是声明一个Boolean类型的setter,并让它将值赋给Boolean类型的字段,即 boolean

因此,我的一个java文件中有类似的内容:

@Resource(name=“initializationCache”)
布尔初始化缓存;
在配置文件中,我有以下内容:



我将如何使用基本布尔值来实现这一点

在Spring3中,您可以使用
@Value
:

@Value("${initialization.cache}")
boolean initializationCache;

我想一种方法是声明一个
Boolean
类型的setter,并让它将值赋给
Boolean
类型的字段,即

boolean initializationCache;

@Resource(name = "initializationCache")
public void setInitializationCache(Boolean b) {
  this.initializationCache = b;
}

不过我还没有测试过它。

基本上就是这样,自动装箱会将
布尔值
解装箱到
布尔值
。但是如果由于某种原因配置没有正确拉入,我更愿意将initializationCache默认为false。现在,我相信它将是空的。如果您在Java代码中将
Boolean
更改为
Boolean
,会发生什么情况?@Grzegorz我得到这个:原因:org.springframework.beans.factory.BeanNotOfRequiredTypeException:名为'initializationCache'的Bean必须是[Boolean]类型,但实际上是[Java.lang.Boolean]类型有没有办法不去春天3号?谢谢。我投了更高的票,因为如果我使用3.0+,这将是一个很好的答案。是的,这可以工作,尽管我想我想做一个空检查。事实上,我发现了一个不同的解决方案,它更适合我的特定应用程序,但这个答案似乎是3.0版本之前Spring的最佳解决方案。