为什么Spring框架不允许autowire原始类型?

时间:2015-12-30 10:14:57

标签: java spring dependency-injection spring-ioc

根据文档,已提及

  

它是设计

我想了解这种设计背后的可能思路。

4 个答案:

答案 0 :(得分:7)

因为Autowiring只是在ApplicationContext中引用现有bean的替代方法。它需要 bean ,原语不是类,它与Object不同。这就是为什么你不能Autowire原始类型。您可以使用原始类型的包装类(如Integer,Double等)来为这些类型使用自动装配,因为您现在指的是

答案 1 :(得分:0)

自动装配不能用于注入原始值和字符串值。它仅供参考。注入的referance需要有一个对象类。你可以使用包装器。即Interger,布尔。

对于原语,您可以执行spring-bean-primitive-properties-when-using-component-and-autowired

答案 2 :(得分:0)

您可以自动装配包装类,而不是自动装配基本类型 对于int类型 - >使用Integer

答案 3 :(得分:0)

自动装配只是在ApplicationContext中引用您的现有bean 的一种选择。

在应用程序上下文中存在的基元不像bean

它期望实例/ bean不是原始的。