求解啊,我照视频上来的啊 初学Spring 这里死活都加载不了xml配置文件 问题出在哪?

F91OG 2016-07-08 09:33:42
照视频上一步一步的来 jar包我全导入了就是老报错啊 不明白为什么 我都快疯了
我xml文件是放在src目录下的
applicationContext.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation" value="classpath:hibernate.cfg.xml"/>
</bean>
<bean id="date" class="java.util.Date"/>
</beans>

测试代码:
package com.imooc.conform;

import static org.junit.Assert.*;

import java.util.Date;

import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringTest {

private static ApplicationContext context = null;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
context = new ClassPathXmlApplicationContext("applicationContext.xml");
}

@Test
public void test() {
Date date = (Date) context.getBean("date");
System.out.println(date);
}
}

报错:
七月 08, 2016 9:21:15 下午 org.springframework.context.support.AbstractApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@b065c63: startup date [Fri Jul 08 21:21:15 CST 2016]; root of context hierarchy
七月 08, 2016 9:21:15 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [applicationContext.xml]
七月 08, 2016 9:21:16 下午 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@25bbe1b6: defining beans [sessionFactory,date]; root of factory hierarchy
七月 08, 2016 9:21:16 下午 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry destroySingletons
信息: Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@25bbe1b6: defining beans [sessionFactory,date]; root of factory hierarchy

为什么啊?求大神。。。。。。。
...全文
407 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Greatcqi 2016-07-11
  • 打赏
  • 举报
回复
test类前面加注解 @ContextConfiguration(locations = {"classpath:spring-config.xml"}) @RunWith(SpringJUnit4ClassRunner.class) public class SimpleSpringTest { ..... }
o_n_omika 2016-07-11
  • 打赏
  • 举报
回复
web.xml 里面配了没?
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <context-param>
  	<param-name>contextConfigLocation</param-name>
  	<param-value>classpath:spring.xml</param-value>
  </context-param>
  <listener>
      <description>Spring</description>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
</web-app>
li4c 2016-07-11
  • 打赏
  • 举报
回复
如果真的要用xml的话,也可以这么写
package com.javarticles.spring.annotations;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ClassPathXmlApplicationContext;


@Configuration
@ComponentScan(basePackages = {
        "com.javarticles.spring.annotations.packageA",
        "com.javarticles.spring.annotations.packageB" })
public class SpringComponentScanAnnotationViaXMLExample {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        try {
            System.out.println("BeanA: "
                    + ctx.getBean("beanA"));
            System.out.println("BeanB: "
                    + ctx.getBean("beanB"));
            System.out.println("Contains BeanC1?: "
                    + ctx.containsBean("beanC31"));
            System.out.println("Contains BeanD?: "
                    + ctx.containsBean("beanD"));
            System.out.println("Contains BeanE1?: "
                    + ctx.containsBean("beanE1"));
        } finally {
            ctx.close();
        }
    }

}
li4c 2016-07-11
  • 打赏
  • 举报
回复
推荐你用JavaConfig的形式来使用spring
  • 打赏
  • 举报
回复
引用 2 楼 F91OG 的回复:
[quote=引用 1 楼 qnmdcsdn 的回复:] 没看出来哪报错了,你打印个容易辨认的字符串先
xml文件没有加载成功 我试了往这句context = new ClassPathXmlApplicationContext("applicationContext.xml")后加输出语句 根本打印不出来[/quote] 额,我觉得这不是找没找到的问题,而是这个方法执行了没有的问题,你放在之前打印看看
狂暴的小猴儿 2016-07-09
  • 打赏
  • 举报
回复
哪有错误信息
qq_26397129 2016-07-09
  • 打赏
  • 举报
回复
你的配置文件没有问题,导入的包完全的话也没问题,估计是你配置的bean=“sessionFactroy”这个里面的property属性的value="classpath:hibernate.cfg.xml"需要读取一个hibernate配置文件,不配置好了,就没问题了,因为我测试可以一下你的demo,配置好hibernate文件就ok了,要不你把这个bean=“sessionFactroy”屏蔽掉也没问题
阳光越来越暖 2016-07-09
  • 打赏
  • 举报
回复
我这有spring的学习视频 我觉得讲的好 你要的话私信我
阳光越来越暖 2016-07-09
  • 打赏
  • 举报
回复
public class SpringTest { private static ApplicationContext context = null; @BeforeClass public static void setUpBeforeClass() throws Exception { context = new ClassPathXmlApplicationContext("applicationContext.xml"); } @Test public void test() { Date date = (Date) context.getBean("date"); System.out.println(date); } } 改一下 用main 方法 调用一下 别用@Test 感觉你的报错信息不是 因为找不到
F91OG 2016-07-08
  • 打赏
  • 举报
回复
引用 1 楼 qnmdcsdn 的回复:
没看出来哪报错了,你打印个容易辨认的字符串先
xml文件没有加载成功 我试了往这句context = new ClassPathXmlApplicationContext("applicationContext.xml")后加输出语句 根本打印不出来
  • 打赏
  • 举报
回复
没看出来哪报错了,你打印个容易辨认的字符串先

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧