【问题标题】:Declare a bean as primary in Spring XML在 Spring XML 中声明一个 bean 为主
【发布时间】:2019-02-27 08:16:35
【问题描述】:

我正在尝试在我的 XML 的 bean 标记中使用主要属性,如下所示:

<bean id = "gslFeatures" class="aero.sita.pts.bcs.common.model.features.GSLFeatures" primary = "true">
    </bean>

但是当我尝试运行我的应用程序时出现以下错误:

cvc-complex-type.3.2.2:属性“primary”不允许出现在元素“bean”中。

现在这个错误很容易解释,但是我该如何解决这个问题并确保在自动装配时这个 bean 被认为是主要的。

【问题讨论】:

  • 您使用的是什么 Spring 版本...我认为 Spring 3.0 引入了“Primary”...

标签: xml spring javabeans


【解决方案1】:

在您的 xml 文件中使用 2.0 以上的架构版本(xsd 版本)。您可以在以下链接https://www.springframework.org/schema/beans/ 中找到架构版本。

但是,最好不要指定版本。在这种情况下,将选择最新版本。

例子:

<?xml version = "1.0" encoding = "UTF-8"?>

<beans xmlns = "http://www.springframework.org/schema/beans"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="electricMotor1" class="com.chiranth.ElectricMotor1" primary="true"/>
    <bean id="electricMotor2" class="com.chiranth.ElectricMotor2"/>

    <bean id="modelX" class="com.chiranth.TeslaModelX" autowire="constructor"/>
</beans>

【讨论】:

    猜你喜欢
    • 2018-06-20
    • 1970-01-01
    • 2011-01-05
    • 2014-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-05
    相关资源
    最近更新 更多