出于好奇,我将 bean.xml 中的 bean 的 id 留空。我期待着“bean id is not defined”或“bean id can't be null”之类的异常,但实际上,我得到了以下异常 -
cvc-datatype-valid.1.2.1: '' is not a valid value for 'NCName'.
它说明了什么?
完全例外是 -
06:26:18.262 [main] DEBUG org.springframework.beans.factory.xml.PluggableSchemaResolver - Found XML schema [http://www.springframework.org/schema/beans/spring-beans-3.0.xsd] in classpath: org/springframework/beans/factory/xml/spring-beans-3.0.xsd
Exception in thread "main" org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 13 in XML document from class path resource [beans.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 13; columnNumber: 94; cvc-datatype-valid.1.2.1: '' is not a valid value for 'NCName'.
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:399)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)
bean.xml 的内容是
<?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-3.0.xsd">
<bean id = "employee" class = "com.test.springboot.spring_boot_example.Employee" >
<property name = "name" value = "Arvind"/>
<property name = "address" ref = "address"/>
</bean>
<bean id = "" class = "com.test.springboot.spring_boot_example.Address" scope="prototype">
<property name = "houseNumber" value = "64"/>
</bean>
</beans>