2 weixian52034 weixian52034 于 2016.09.10 15:34 提问

spring通过注解配置beand的问题?求大神解决

这事测试主类

 package com.dw.spring.beans.annotation;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.dw.spring.beans.annotation.controller.UserController;
import com.dw.spring.beans.annotation.repository.UserRepository;
import com.dw.spring.beans.annotation.service.UserService;

public class Main {

    public static void main(String[] args) {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-annotation.xml");

        TestObject to = (TestObject) ctx.getBean("testObject");
        System.out.println(to);

        UserController userController = (UserController) ctx.getBean("userController");
        System.out.println(userController);

        UserService userService = (UserService) ctx.getBean("userService");
        System.out.println(userService);

        UserRepository userRepository = (UserRepository) ctx.getBean("userRepository");
        System.out.println(userRepository);
    }
}

这是bean.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:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd">

    <!-- 指定spring IOC 容器扫描的包  -->
    <context:component-scan base-package="com.dw.spring.beans.annotation"></context:component-scan>

</beans>

这是异常

 九月 10, 2016 3:27:17 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@7e6cbb7a: startup date [Sat Sep 10 15:27:17 CST 2016]; root of context hierarchy
九月 10, 2016 3:27:17 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [beans-annotation.xml]
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [beans-annotation.xml]; nested exception is java.lang.NoClassDefFoundError: org/springframework/aop/TargetSource
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:414)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:252)
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127)
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93)
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:452)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at com.dw.spring.beans.annotation.Main.main(Main.java:12)
Caused by: java.lang.NoClassDefFoundError: org/springframework/aop/TargetSource
    at org.springframework.context.annotation.AnnotationConfigUtils.registerAnnotationConfigProcessors(AnnotationConfigUtils.java:140)
    at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.registerComponents(ComponentScanBeanDefinitionParser.java:150)
    at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:88)
    at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:74)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1427)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1417)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:174)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:144)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:100)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:510)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392)
    ... 14 more
Caused by: java.lang.ClassNotFoundException: org.springframework.aop.TargetSource
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 25 more

1个回答

ChenLuLiang
ChenLuLiang   2016.09.15 09:56

如果找不到相应的类,执行就会出现NoClassDefFoundError的异常

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Spring通过注解配置bean
简介及测试  Spring支持通过注解的方式来配置bean实例。Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件。特定组件包括:   @Component:基本注解,标识了一个受Spring管理的组件。   @Repository:标识持久层组件。   @Service:标识服务车(业务层)组件。   @Controller:标识表现层组件。      现在
左菜单侧滑
侧滑的一个例子 求大神解决下2次选中侧滑标签列表失焦问题
spring常用注解配置
1、直接上干货:&amp;lt;context:component-scan base-package=&quot;com.changhf&quot; use-default-filter=&quot;true&quot;&amp;gt; &amp;lt;context:include-filter type=&quot;annotation&quot; expression=&quot;org.springframework.stereotype.Controller&quot;&amp;gt; &a
SpringMVC——注解配置解决乱码问题之一
1、问题出现:从oracle数据库取数据,数据为html代码,数据中存在中文,渲染到前端页面,出现带问号现象;前端渲染:开始以为数据库编码问题,因为oracle数据库为GBK,编译器和页面编码都为UTF-8,后发现乱码问题应该会导致:  部分汉字无法识别的情况,而不是全部变为问号。2、解决办法:经老大调试,发现为SpringMVC中@RequestMapping注解引起,修改如下:@Request...
spring+hibernate注解配置实例
简单的spring3.2.9和hibernate3的集成配置,有demo供下载。shTest下载 第一步 jdbc.properties配置 driverClassName=com.mysql.jdbc.Driver url=jdbc\:mysql\://localhost\:3306/shtest username=root password=123456 prototypeCount
spring注解方式配置mybatis数据源
一 、介绍 从spring3添加了@Configuration 和 @Bean 两个注解,使用这两个注解可以完全代替spring xml 文件的配置。而spring4和springboot都推荐使用注解配置代替xml文件的方式。本文主要介绍用java注解的方式配置spring与mybatis整合。二、maven依赖包 <dependencies> <dependenc
使用全注解配置Spring MVC
全注解配置Spring MVC和其原理
spring-依赖注入的注解配置
3.注解 可以使用注解来代替xml配置。 3.1 类的注解 @ org.springframework.stereotype.Component 一个类若标注了@Component,表明此类被作为Spring的Bean类。对象名默认为类名首字母小写。也可以@Component("name")来手动指定。 此外还有@Service、@Controller与@Repository。它们都
Java - Spring中如何使用注解来配置Bean?有哪些相关的注解?
首先需要在Spring配置文件中增加如下配置:&amp;lt;context:component-scan base-package=&quot;org.example&quot;/&amp;gt;然后可以用@Component、@Controller、@Service、@Repository注解来标注需要由Spring IoC容器进行对象托管的类。这几个注解没有本质区别,只不过@Controller通常用于控制器,@Service...
dubbo系列(二)——dubbo+zookeeper+spring注解方式集成
实际工作中,如果单个服务的配置未免太过麻烦,dubbo支持扫描注解的形式发布服务。 Provider方 在配置文件中加上,是dubbo的扫描标签,它除了会扫描带有'@Component'、'@Service'、'@Controller'注解的类,把它们注册成SpringBean之外,它还会扫描带有”@Service” (dubbo的service标签)的接口实现类发布服务(必须有实现接口,不然