Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Passed-in Resource [resource loaded through InputStream] contains an open stream: cannot determine validation mode automatically. Either pass in a Resource that is able to create fresh streams, or explicitly specify the validationMode on your XmlBeanDefinitionReader instance.
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.detectValidationMode(XmlBeanDefinitionReader.java:449)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.getValidationModeForResource(XmlBeanDefinitionReader.java:430)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:387)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:78)
at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:66)
at com.bigner.mybld.springtest.SpringTest.main(SpringTest.java:76)
网上找一下原因是:
跟踪spring源码看到要求Resource.isopen必须是false的,而
InputStream in=new FileInputStream("....");
InputStreamResource inr=new InputStreamResource(in);
这两句执行后inr.isopen是true
再执行XmlBeanFactory factory=new XmlBeanFactory(inr);就会抛出上面的异常,而用spring的ClassPathResource isr=new ClassPathResource("applicationContext.xml");
后可以看到isr.isopen是false的。具体如何解决还需要研究spring的源码。
参考代码:
InputStream is = new FileInputStream("bean.xml");
InputStreamResource isr = new InputStreamResource(is);
XmlBeanFactory factory = new XmlBeanFactory(isr);
/*File file = new File("绝对路径\\bean.xml");
// FileSystemResource fsr = new FileSystemResource(file);
ClassPathResource fsr=new ClassPathResource("bean.xml");
BeanFactory factory = new XmlBeanFactory(fsr);*/
分享到:
相关推荐
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [applicationContext.xml]; nested exception is java.lang....
org.springframework.beans.factory.BeanDefinitionStoreException: Line 4 in XML document from ServletContext resource [/WEB-INF/classes/applicationContext.xml] is invalid; nested exception is org.xml....
- 异常类型:`org.springframework.beans.factory.BeanDefinitionStoreException` - 解决方案:确保配置文件(例如 `action-servlet.xml`)正确放置于 `WEB-INF` 目录下。 #### Hibernate 与 Spring 的集成 ...
在Spring MVC的场景下,可能是由于Bean初始化过程中的某些方法抛出了异常,最终导致了`InvocationTargetException`。 - **解决办法**: - 检查Bean配置,确保所有依赖都已经正确设置。 - 查看日志信息,定位具体的...
首先,我们遇到的`BeanDefinitionStoreException`是Spring框架中定义的一种异常,通常发生在Bean的定义或实例化过程中出现错误时。在这个案例中,异常明确指向了Apache CXF库中的`JAXRSClientFactoryBean`类的`...
第一句就是将父亲工厂交给父类的构造函数,实际上最后也就是把父工厂保存到类的parentBeanFactory成员对象中,这个对象是在AbstractBeanFactory抽象类中定义的,而这个父工厂也会一直传递到该抽象类进行保存。...
All Classes ...BeanDefinitionStoreException BeanDefinitionValidationException BeanDefinitionValueResolver BeanDefinitionVisitor BeanEntry BeanFactory BeanFactoryAspectInstanceFactory ...
tá com pau:GRAVE:上下文初始化失败 org.springframework.beans.factory.BeanDefinitionStoreException:无法读取候选组件类:文件 [E:\FGH\Documents_FabioGM\Java\Workspace.metadata.plugins\org.eclipse.wst...
然后,我们调用 initBeanDefinitionReader 方法来初始化 beanDefinitionReader 对象,最后,我们调用 loadBeanDefinitions 方法来装载 BeanDefinition。 loadBeanDefinitions 方法 现在,让我们深入探讨 ...
public int loadBeanDefinitions(EncodedResource encodedResource) throws BeanDefinitionStoreException { try { InputStream inputStream = encodedResource.getResource().getInputStream(); // ... } } ```...
- `org.springframework.beans.factory.BeanDefinitionStoreException`: 这是Spring框架抛出的一个异常,表明在读取或解析Bean定义时遇到了问题。 - `IOException parsing XML document from classpath resource ...
但是,如果在默认包中使用“@ComponentScan”,可能会导致应用程序启动速度变慢,并且可能会导致 BeanDefinitionStoreException。 6. 不要使用“BigDecimal(double)”构造函数 在 Java 中,使用“BigDecimal...
StringUtils,Reactor 2.x 版本中提供了对 React 的 Spring 支持,例如 EnableReactor ./gradlew bootRun Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected...
- **原因分析**:默认包中的 `@ComponentScan` 会导致 Spring 扫描整个类路径,这不仅可能导致启动时间变慢,还可能引发 `BeanDefinitionStoreException` 异常。 - **推荐做法**:确保使用 `@SpringBoot...