当前位置: 首页 > 知识库问答 >
问题:

访问应用程序上下文文件时的BeanDefinitionStoreException IOException

萧明贤
2023-03-14

编写一个简单的spring程序从filepathxmlapplication上下文中读取bean,但得到以下异常。

但我确信在可以访问xml bean定义文件。

public void testConnection() {
        try{

            List <LnkConnectionResponse> connResponse = new ArrayList <LnkConnectionResponse> ();


            log.info ("before xml resource");

            ApplicationContext context = new FileSystemXmlApplicationContext("M:/My Documents/workspace-sts-3.7.0.RELEASE/LDODashBoard/src/main/webapp/WEB-INF/mvc-database.xml");

            log.info ("before get bean");
            LnkConnectionWrapper linkConnectionArray = (LnkConnectionWrapper)context.getBean("linkConnectionArray");
<?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:util="http://www.springframework.org/schema/util"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:lang="http://www.springframework.org/schema/lang"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
                           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
                           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
                           http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd">



   <util:list  id="dbnameList"  list-class="java.util.ArrayList">
        <value>LDMDB</value>
        <value>GCMMDB</value>
        <value>CVDBCHECKOUT</value>
        <value>CVEMEADBCHECKOUT</value>
        <value>LDMDB</value>
        <value>OPUSDB</value>
        <value>CDRDB</value>
        <value>TLMDB</value>
    </util:list>

   <util:list  id="urlList"  list-class="java.util.ArrayList"> 
        <value>ldmUnprocessedLink</value>
        <value>gcmmLink2</value>
        <value>dbCheckout</value>
        <value>dbCheckoutEMEA</value>
        <value>dbCheckout</value>
        <value>dbCheckout</value>
        <value>dbCheckout</value>
        <value>dbCheckout</value>
    </util:list>

   <util:list id="QueryList"  list-class="java.util.ArrayList"> 
        <value>select count( * ) from futures.EXMAN_STAGING where REGION = 'LONDON' and process_time_stamp is null</value>
        <value>select count( * ) from futures.EXMAN_STAGING where REGION = 'LONDON' and process_time_stamp is null</value>
        <value>select name from v$database } select market from cv_welcome where rownum &#60; 2</value>
        <value>select market from cvision.cv_welcome where rownum &#60; 2</value>
        <value>select 'X' from dual</value>
        <value>select 'X' from dual } select GET_PREV_BIZ_DATE from dual </value>
        <value>select dummy from dual } Select PREV_BUSINESS_DATE  From gmirpt.SD_GMI_PROCDATE  Where REGION_IND = 'ATL'</value>
        <value>select 'X' from dual</value>
    </util:list>

  <bean id="DBQueryBean" class="com.connection.impl.DBQueryImpl">
     <property name="DBName">
        <ref  bean="dbnameList"/>
     </property>
     <property name="UrlName">
        <ref  bean="urlList"/>
     </property>
     <property name="QueryString">
        <ref  bean="QueryList"/>
     </property>     
  </bean>

  <bean id="LdmDatabaseBean" class="com.connection.impl.LDMConnectionImpl">
     <property name="dbQuery" ref="DBQueryBean"/>
  </bean>

 <bean id="tlmWebConnectlink" class="com.implementation.LnkConnectionCheck">
    <property name="urlIDDesc" value="TLMWebConnect" />
    <property name="urlIDGroup" value="tlmlink" />
    <property name="urlLink" value="https://tlmapp.csintra.net/WebConnect/login/login.jsp" />
    <property name="urlDescription" value="TLM Web Connnect" />
  </bean>

  <bean id="linkConnectionArray" class="com.implementation.LnkConnectionWrapper">
    <property name="lnkConnectionCheck">
        <list>
           <ref bean="tlmWebConnectlink" />
        </list>
     </property>
  </bean>

</beans>

共有1个答案

淳于亦
2023-03-14

如果您查看日志,您的问题是FileNotFoundException。

java.io.FileNotFoundException:m:\my documents\workspace-sts-3.7.0.release\ldoDashboard\src\main\webapp\web-inf\mvc-database.xml(系统找不到指定的路径)

您需要确保您在web应用程序中正确地引用了该文件,并确保它位于正确的位置。

 类似资料:
  • 问题内容: 问候 , 有什么方法可以将值从web.xml context-param转换为Spring上下文吗? 例如,我将web.xml中的值定义为: 我想将该值分配给bean属性为: 提前致谢? 问题答案: 是的- 本文介绍了详细信息。简而言之,您需要: 然后使用以下属性: 或搭配

  • 我有一些测试(我没有编写它们,我正在维护它们)使用spring ContextConfiguration注释来提供应用程序上下文: 总之,有几个问题。我不太熟悉spring自定义上下文位置,这些位置不指定file:/或classpath:/。这是什么意思?这个测试类路径上有很多同名的资源。都上膛了吗?如果不是,Spring如何知道要加载哪个? 第二,有没有一种方法可以通过编程方式访问以这种方式连接

  • 我遵循了这篇Thymeleaf教程“使用Thymeleaf在Spring生成丰富的HTML电子邮件”,使用Thymeleaf模板生成了一封电子邮件。一切正常,但我无法访问应用程序中其他地方使用的ApplicationContext bean。 更具体地说,在我的电子邮件模板中,我希望有如下内容: 其中“myBean”是一个@组件。这可能吗?我不是在寻找像这样的解决方法 其中bean作为变量添加到模

  • 问题内容: 关于这两个上下文的内容,已经有很多文章了。但是我仍然不太正确。 到目前为止,据我了解:每个实例都是其类的一个实例,这意味着某些程序员建议您尽可能频繁地使用它,以免“泄漏”任何内存。这是因为另一个this(获取Activity实例上下文)指向的Activity是每次用户倾斜手机或离开应用程序等时都将销毁的一个。显然,垃圾收集器(GC)无法捕获,因此使用了过多的内存。 .. 但是任何人都可

  • 我多年来一直在使用Spring MVC,我试图理解与Spring Boot的一些关键区别。 你能帮我确认一下吗?或者让我明白我在这里遗漏了什么?

  • Spring Boot对于如何使用Spring构建应用程序有一个看法:例如它具有常规配置文件的常规位置,以及用于常见管理和监视任务的端点。Spring Cloud建立在此之上,并添加了一些可能系统中所有组件将使用或偶尔需要的功能。 引导应用程序上下文 一个Spring Cloud应用程序通过创建一个“引导”上下文来进行操作,这个上下文是主应用程序的父上下文。开箱即用,负责从外部源加载配置属性,还解