问题:
在用Idea建立一个Java Application工程的时候,应用了Spring框架,可是Spring的xml配置文件找不到。检查表明不是代码的问题。费了我好长时间才解决。
 
出现问题,我对Idea中加载各种资源文件(.xml、.properties等)做了研究总结。为了说明问 题,下面建立一个Spring的test工程,目标就是运行后在控制台打印一个“Hello World!”,着重看Idea中资源的配置方法。以及不同配置方法会引起的不用效应。
 
环境:
IntelliJ IDEA 12.1.6 (我认为最好用的版本,现在13.0刚出来)
JDK 1.7
Struts 2
WIN 7
 
 
搭建测试项目:
 
依赖的包
commons-logging.jar
spring-beans.jar
spring-context.jar
spring-core.jar
 
源代码:
 
1、Bean类HelloBean :
public class HelloBean {
    private String helloWord;
   
    public void setHelloWord(String helloWord) {
        this.helloWord = helloWord;
    }
    public String getHelloWord() {
        return helloWord;
    }
}
 
2、主类SpringDemo :
public class SpringDemo {
//    public static void main(String[] args) {
//        Resource rs =
//                new FileSystemResource("beans-config.xml");
//        BeanFactory factory =
//                new XmlBeanFactory(rs);
//
//        HelloBean hello =
//                (HelloBean) factory.getBean("helloBean");
//        System.out.println(hello.getHelloWord());
//    }
    public static void main(String args[]){
//        ApplicationContext context = new FileSystemXmlApplicationContext("beans-config.xml");
        ApplicationContext context = new ClassPathXmlApplicationContext("beans-config.xml");
        HelloBean hello = (HelloBean)context.getBean("helloBean");
        System.out.println(hello.getHelloWord());
    }
}
 
3、Spring的配置文件beans-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"
  "[url]http://www.springframework.org/dtd/spring-beans.dtd[/url]">
<beans>
    <bean id="helloBean"
          class="lavasoft.springtest.HelloBean">
        <property name="helloWord">
            <value>Hello World!</value>
        </property>
    </bean>
</beans>
 
 
Idea配置:
下面是Idea项目的目录结构:
 
配置jar和资源文件:
 
 
目录类型设置图:
 
研究结果:
目录有三种类型,在图中已经给出了文字说明。
下面主要看res目录:
1、这个目录一般命名为res,以表示资源。
2、若这个目录设置为“Sources”类型,则在工程编译后,resorce目录下的文件会原封不动的复制到编译后生成文件的目录,在此为classes目录,并且在Idea的工程面板中可以看到res目录的存在。
3、这个目录设置为普通文件夹类型(浅黄色的文件包),则在工程编译后,resorce目录下的文件不会复制到classes目录,并且在Idea的工程面板中看不到此目录。
4、res目录下的文件要能被程序找到,则需要在Idea中配置res目录到classpath下面。参看第二个图,这个配置方法适合其他的类型的配置文件比如.properties文件,原理就是将这些文件加载到calsspath中,这样就可以在Idea中调试运行了。

Idea中找不到xml配置文件问题研究以及classpath设置(转载)的更多相关文章

  1. IDEA中写MyBatis的xml配置文件编译报错的坑

    IDEA中写MyBatis的xml配置文件编译报错的坑 说明:用IDEA编译工具在项目中使用Mybatis框架,编写mybatis-config.xml和Mapper.xml配置文件时,编译项目出现错 ...

  2. Eclipse 中 Spring 项目的 XML 配置文件报错 Referenced file contains errors

    原来运行正常的项目,突然在applicationContext.xml 文件头报错 总结一下网上的解决方案: 1.有可能网络状况不好导致 如果使用Maven构建项目,spring在加载xsd文件时总是 ...

  3. Idea中更改主题后xml配置文件局部黄色背景颜色去除

    相信很多小伙伴和我一样一样的,喜欢更换Idea的主题,但是细心的小伙伴就发现了,每次更改主题后xml配置文件就会局部产生黄色背景颜色,对于强迫症患者真的是够了,网上也有部分文章,但是不够详细,也跟Id ...

  4. spring 配置文件无法加载,junit找不到xml配置文件java.lang.IllegalStateException: Failed to load ApplicationContext

    最近遇到一个奇怪的问题.maven项目再进行junit单元测试的时候发现无法加载配置文件.一会能加载一会又不能加载.然后试了在src/main/resource下面的配置文件放到src/test/re ...

  5. cocos2dx中调用TinyXml读取xml配置文件 || cocos2d-x 中跨平台tinyxml读取xml文件方式

    TiXmlDocument *doc = newTiXmlDocument; #if (CC_TARGET_PLATFORM ==CC_PLATFORM_ANDROID) //Android平台tin ...

  6. 提示找不到xml配置文件

    ClassPathXmlApplicationContext("applicationContext.xml")默认文件夹是resouerces,所以要把xml文件放在这个下面.

  7. MyEclipse中提示SpringMVC的XML配置文件出错解决方法

    手动添加schema文件,方法如下: 1,依次选择:windwos->preferences->myeclipse->files and editors->xml->xm ...

  8. Spring编译后没有xml配置文件解决方法

    问题描述 在使用Maven来构建Spring项目的时候,使用下面代码来读取Spring配置文件. ClassPathXmlApplicationContext context = new ClassP ...

  9. solr4.5 schema.xml配置文件

    schema.xml配置文件是用于定义index索引库的结构,有点类似于数据表表的定义. 当我们打开schema.xml配置文件时,也许会被里面密密麻麻的代码所吓倒,其实不必惊慌,里面其实就两个东西f ...

随机推荐

  1. MSP430 G2553 计时/计数器 Timer_A

    MSP430G2553包含了两个16-bit Timer_A计时/计数器.本文简单介绍了Timer_A的功能和寄存器使用,本文及后续的随笔部分参考了"Scientific Instrumen ...

  2. 关于SqlServer连接错误

    以前用数据库好好的,今天突然就出现连接错误,贴出出错误消息 出现这种错误的原因:服务里面sqlserver服务没有打开. 解决方案 : 计算机右键,打开管理,找到服务,把服务里面的SQL Server ...

  3. 浅析c#中==操作符和equals方法

    在之前的文章中,我们讲到了使用C#中提供的Object类的虚Equals方法来判断Equality,但实际上它还提供了另外一种判断Equality的方法,那就是使用==运算符.许多童鞋也许会想当然的认 ...

  4. Gogland编译Syncthing!

    说明:我仅仅以这个Syncthing工程为例,来说明如何正确使用Goland编译其他人写的工程,应该具有普遍意义,看懂这篇博客,你想用Gogland去编译其他人的工程,应该不是问题!! Syncthi ...

  5. linux网络流量实时监控工具之iptraf 【个人比较喜欢用的流量监控软件】

    linux网络流量实时监控工具之iptraf IPTraf是一个网络监控工具,功能比nload更强大,可以监控所有的流量,IP流量,按协议分的流量,还可以设置过滤器等,如下图 对监控网络来说,这个更适 ...

  6. “全栈2019”Java异常第二十章:自定义异常详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  7. Java中Io类-File类的构造方法

    package com.hxzy.IOSer;import java.io.*;public class Demo02 { public static void main(String[] args) ...

  8. php请求远程url内容方法

    php请求远程url内容有两个方法fopen/file_get_contents和curl. 1,fopen/file_get_contents与curl的差异 (1)fopen /file_get_ ...

  9. wamp集成多个版本php (php7.0)

    https://www.cnblogs.com/ypf5208/p/5510274.html

  10. leetcode-8-字符串转整数 (atoi)

    题目描述: 实现 atoi,将字符串转为整数. 在找到第一个非空字符之前,需要移除掉字符串中的空格字符.如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符 ...