Java “线程中的异常”;“主要”;org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException
最近我在学习Spring框架。所以我尝试检查依赖注入在spring框架中是如何工作的。因此,我创建了一个新的java项目,并使用基于构造函数XML的配置实践依赖项注入代码。在运行我的项目后,我得到了这个错误 类路径资源[com/mir00r/beans.XML]的XML文档中的第24行无效;嵌套异常为org.xml.sax.saxpasseeption;行号:24;列数:9;cvc复杂类型.2.3:元素“bean”不能有字符[子项],因为该类型的内容类型仅为元素 2016年7月9日晚上11:22:11 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh 信息:刷新org.springframework.context.support。ClassPathXmlApplicationContext@7ee361ad:启动日期[2016年7月9日星期六23:22:11 BDT];上下文层次结构的根 2016年7月9日晚上11:22:11 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 信息:从类路径资源[com/mir00r/beans.XML]加载XMLBean定义 线程“main”org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:类路径资源[com/mir00r/beans.xml]的xml文档中的第24行无效;嵌套异常为org.xml.sax.saxpasseeption;行号:24;列数:9;cvc复杂类型.2.3:元素“bean”不能有字符[子项],因为该类型的内容类型仅为元素 位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396) 位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) 位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) 位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174) 位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209) 位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) 位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243) 位于org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127) 位于org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93) 位于org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) 位于org.springframework.context.support.AbstractApplicationContext.AcquitainFreshBeanFactory(AbstractApplicationContext.java:537) 位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451) 位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:139) 位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:83) 位于com.mir00r.Main\u Test.Main(Main\u Test.java:18) 原因:org.xml.sax.saxpasseeption;行号:24;列数:9;cvc复杂类型.2.3:元素“bean”不能有字符[子项],因为该类型的内容类型仅为元素。 位于com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) 位于com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134) 位于com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437) 请访问com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368) 位于com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:325) 位于com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:458) 请访问com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3237) 在com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidComplexType上(XMLSchemaValidator.java:3200) 位于com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidType(XMLSchemaValidator.java:3160) 位于com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processElementContent(XMLSchemaValidator.java:3062) 在com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleendement(XMLSchemaValidator.java:2140) 位于com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(XMLSchemaValidator.java:859) 位于com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scannedelement(XMLDocumentFragmentScannerImpl.java:1782) 位于com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2973) 位于com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) 在com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next上(XMLNSDocumentScannerImpl.java:117) 位于com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) 位于com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) 位于com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) 在com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLPJava “线程中的异常”;“主要”;org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException,java,xml,spring,spring-mvc,Java,Xml,Spring,Spring Mvc,最近我在学习Spring框架。所以我尝试检查依赖注入在spring框架中是如何工作的。因此,我创建了一个新的java项目,并使用基于构造函数XML的配置实践依赖项注入代码。在运行我的项目后,我得到了这个错误 类路径资源[com/mir00r/beans.XML]的XML文档中的第24行无效;嵌套异常为org.xml.sax.saxpasseeption;行号:24;列数:9;cvc复杂类型.2.3:元素“bean”不能有字符[子项],因为该类型的内容类型仅为元素 2016年7月9日晚上11:22
package com.mir00r;
/**
*
* @author Abdur Razzak <abdur.razzaq06@ail.com>
*/
public class Employee {
private int id;
private String name;
private Address address; // create object from Address class
public Employee() {
}
public Employee(int id) {
this.id = id;
}
public Employee(String name) {
this.name = name;
}
public Employee(int id, String name) {
this.id = id;
this.name = name;
}
public Employee(int id, String name, Address address) {
this.id = id;
this.name = name;
this.address = address;
}
public void show () {
System.out.println(id + " : " + name);
System.out.println(address);
}
}
package com.mir00r;
/**
*
* @author Abdur Razzak <abdur.razzaq06@ail.com>
*/
public class Address {
private final String state;
private final String city;
private final String country;
public Address(String state, String city, String country) {
this.state = state;
this.city = city;
this.country = country;
}
@Override
public String toString() {
return "Address{" + "state=" + state + ", city=" + city + ", country=" + country + '}';
}
}
package com.mir00r;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
*
* @author Abdur Razzak <abdur.razzaq06@ail.com>
*/
public class Main_Test {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("com/mir00r/beans.xml");
Employee em = (Employee)ac.getBean("emp");
em.show();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="a1" class="com.mir00r.Address">
<constructor-arg value="Badda"></constructor-arg>
<constructor-arg value="Dhaka"></constructor-arg>
<constructor-arg value="Bangladesh"></constructor-arg>
</bean>
// Dependency Injection Example using Constructor
<bean id="emp" class="com.mir00r.Employee">
<constructor-arg value="10" type="int" ></constructor-arg>
<constructor-arg value="Abdur Razzak" ></constructor-arg>
<constructor-arg>
<ref bean="a1"></ref>
</constructor-arg>
</bean>
</beans>
// Dependency Injection Example using Constructor
<!-- Do the comments here, that's all -->
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="a1" class="com.mir00r.Address">
<constructor-arg value="Badda"/>
<constructor-arg value="Dhaka"/>
<constructor-arg value="Bangladesh"/>
</bean>
<!-- // Dependency Injection Example using Constructor -->
<bean id="emp" class="com.mir00r.Employee">
<constructor-arg value="10" type="int" />
<constructor-arg value="Abdur Razzak" />
<constructor-arg>
<ref bean="a1"/>
</constructor-arg>
</bean>
</beans>