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

applicationContext无法解析路径

慕弘义
2023-03-14

当我在spring简单数据库连接代码中定义applicationContext时,我遇到了这个错误。

但是,当我把应用上下文的java(数据库测试onnection.java)驻留,它连接没有任何问题。

线程“main”中的异常org.springframework.beans.factory.BeanDefitionStoreExc0019: IOExc0019从类路径资源[应用程序Context.xml]解析XML文档;嵌套异常是java.io.FileNotFoundExc0019:类路径资源[应用程序Context.xml]无法打开,因为它打开了并不存在

应用Context.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"
   xmlns:p="http://www.springframework.org/schema/p"
   xmlns:aop="http://www.springframework.org/schema/aop"
   xmlns:tx="http://www.springframework.org/schema/tx"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
   http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
   http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

<!--bean id="propertyConfigurer"
      class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
      p:location="/WEB-INF/jdbc.properties" />

<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.url}"
p:username="${jdbc.username}"
p:password="${jdbc.password}" /-->

<bean id="databaseTestConnection" class="DatabaseTestConnection">
<property name="dataSource" ref="externalDataSource"/>
</bean>

<bean id="externalDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" scope="singleton"     destroy-method="close">
<property name="driverClassName" value="sun.jdbc.odbc.JdbcOdbcDriver"/>
<property name="url" value="jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=C://Users//gopc//Documents//odbc_sql.accdb"/>
<property name="username" value=""/>
<property name="password" value=""/>
</bean>

<!-- ADD PERSISTENCE SUPPORT HERE (jpa, hibernate, etc) -->

</beans>

数据库测试连接。JAVA

import java.util.*;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;

import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;

public class DatabaseTestConnection {

private JdbcTemplate jt;

public void setDataSource(DataSource dataSource) {
    this.jt = new JdbcTemplate(dataSource);
}


/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));
    DatabaseTestConnection bn = (DatabaseTestConnection) bf.getBean("databaseTestConnection");
    int count = bn.jt.queryForInt("select count(*) from log_entry");
    System.out.println("cgk count:" + count);

    List <Map <String,Object> > ob = bn.jt.queryForList("select * from log_entry", args);
    System.out.println("cgk size:" + ob.size());
    for (Map<String,Object> entry: ob )
    {
        System.out.println("ID:" + entry.get("ID"));
        System.out.println("DateCol:" + entry.get("DateCol"));
        System.out.println("Completed:" + entry.get("Completed"));
    }

}
}

共有2个答案

拓拔泉
2023-03-14

applicationContext。xml文件应位于WEB-INF/classes文件夹中。

您的配置显示applicationContext。xml文件位于类路径中。类路径引用servlet应用程序中的WEB-INF/classes目录。

元俊雅
2023-03-14

无论如何,您只是在本地进行测试,所以可以从上下文路径加载

ApplicationContext ctx = new FileSystemXmlApplicationContext("C:\\workspace\\src\\main\\webapp\\WEB-INF\\applicationContext.xml"); // in your case path to your applicationContext.xml file in your local.
 类似资料:
  • 我在我的新Android Studio版本中遇到了以下错误,基本的hello world也没有在gradle中构建。云你也请帮忙。 这是我在新的android Studio版本中收到的错误: 我的分级文件如下 这是我得到的日志 无法解析“”的依赖项:app@debug/compileClasspath“:无法解析com.android.support:appcompat-v7:28.0.0-rc0

  • 这是我在执行Spring Boot应用程序时得到的错误消息:

  • 我试图使用桶和tsconfig选项导入一些服务,但我无法使用angular和vscode。 如果对一个人有效,对另一个人无效... 我的情况似乎很简单: 在中,我有一个在index.ts中导出的服务 我的就是这个: 我的angular应用程序编译没有问题,但每次我试图从导入我的服务时,vscode都会给我错误。giving me

  • 问题内容: 我在debian jessie上安装了elasticsearch 1.7.3。它使用默认配置文件,并且可以正常工作。但是当我打电话给它返回一个错误: 文件存在,我可以在nano中打开他。 有/ etc / default / elasticsearch文件: 和文件中没有记录。 有人知道为什么会失败吗? 问题答案: 这不是问题的解决。但是我解决了我的问题。 生成bash-command

  • 我得到了错误: org.springframework.beans.factory.beanCreationException:创建类路径资源[org/springframework/boot/autocconfigure/orm/jpa/hibernatejpaconfiguration.class]中定义的名为“Entity ManagerFactory”的bean时出错:调用init方法失败