`
zhb8015
  • 浏览: 390673 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Group-logo
Spring Roo杂谈
浏览量:0
社区版块
存档分类
最新评论

求助:NoSuchBeanDefinitionException: No bean named 'userService' is defined

阅读更多

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'userService' is defined

 

配置SpringJunit4测试时如何配置@ContextConfiguration(locations = { "classpath*:/conf/common/applicationContext.xml" })?????

 

具体问题描述如下:

 

目录

  1. 问题报错
  2. 配置文件
  3. 分析原因

 

1、问题报错:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'userService' is defined

 

 

2、配置文件

 

文档结构:

 

 

 

测试代码 MybatisTest1:

 

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath*:/conf/common/applicationContext.xml" })
public class MybatisTest1 {

    
    private UserService userService;

    @Resource(name = "userService")
    public void setUserService(UserService userService) {
	this.userService = userService;
    }

    @Before
    public void setUp() throws Exception {

    }

    @After
    public void tearDown() throws Exception {
    }

    @Test
    public void test() {
	userService.findAll();
    }
}

 

配置文件applicationContext.xml:

 

	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			/WEB-INF/conf/*/*.xml 
		</param-value>
	</context-param>
	
	<!-- log4j -->
	<context-param>
		<param-name>log4jConfigLocation</param-name>
		<param-value>
            /WEB-INF/conf/common/log4j.properties
		</param-value>
	</context-param>
	
	<listener>
		<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
	</listener>
	
	<!-- Loads the Spring web application context -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	
	
	<!-- The front controller of this Spring Web application, responsible for handling all application requests -->
	<servlet>
		<servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/conf/common/applicationContext.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

 

3、分析原因:

配置文件applicationConetxt.xml 找不到,导致注解无法找到userService bean的配置,但不知道 (@ContextConfiguration(locations = { "classpath*:/conf/common/applicationContext.xml" }))这个配置该如何修改。

 

 

  • 大小: 13.3 KB
分享到:
评论
1 楼 zhb8015 2013-10-10  
问题可能找到了,spring-test对于(@ContextConfiguration(locations = { "classpath*:applicationContext-test.xml" }))这个注解只认classpath,所以配置其它的文件路径是找不到的,把配置改成以下就测试通过了。


把applicationContext.xml,jdbc.properties,log4j.properties 拷贝到src下

修改后的配置
A、测试类:
@ContextConfiguration(locations = { "classpath*:applicationContext-test.xml" })


applicationContext.xml中关于jdbc的配置:
<!-- jdbc.properties Directory -->
	<bean
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations" value="jdbc.properties" />
	</bean>
	


但是在测试类中只能把配置文件都放到classpath中了,不能用<file:>这样的前缀解决了,有没有其它的解决办法呢?


相关推荐

    No bean named 'user' available

    org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'user' available

    关于springboot我出过的那些错误.docx

    错误六:org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'convertServiceBean' available 错误原因:没有读取到 bean 特定的对象,没有配置名为 convertServiceBean 的 bean ...

    Java开发学习(三)----Bean基础配置及其作用范围.doc

    - **scope属性**:bean的作用范围决定了Spring容器如何管理bean的生命周期和实例化策略。 - **单例(singleton)**:这是默认的bean作用范围。当设置为`singleton`时,Spring容器会在启动时创建bean的一个实例,并...

    自己实现IOC容器

    throw new NoSuchBeanDefinitionException("No such bean with id: " + beanId); } // 创建Bean实例的辅助方法 private Object createInstance(Class&lt;?&gt; clazz) { try { return clazz.getDeclaredConstructor...

    Spring IOC容器实现分析

    2. **Bean定义信息**(BeanDefinition):BeanDefinition对象包含了Bean的所有配置信息,如Bean的类名、作用域、初始化方法等。它是Spring容器创建Bean实例的基础。 3. **Bean工厂**(BeanFactory):BeanFactory是...

    Spring源码分析

    它可以读取XML配置文件中的Bean定义信息,并根据这些信息创建和管理Bean。 - **AbstractBeanFactory**:一个抽象类,用于实现BeanFactory的部分功能。它通过模板模式提供了一些通用的实现细节,如Bean的生命周期...

    spring源码解决

    解析了spring的底层实现机制。public interface BeanFactory { //这里是对FactoryBean的转义定义,因为如果使用bean的名字检索FactoryBean...boolean isSingleton(String name) throws NoSuchBeanDefinitionException;

    Spring通过ApplicationContext主动获取bean的方法讲解

    Spring通过ApplicationContext主动获取bean的方法讲解 今天,我们来讨论Spring框架中如何通过ApplicationContext主动获取bean的方法。这个问题在实际开发中非常常见,特别是在异步线程或某些特殊情况下无法使用...

    Spring ioc源码解读

    - **Bean定义读取**:Bean定义的读取过程通过委托给BeanDefinitionReader完成,例如XmlBeanDefinitionReader可以解析XML文件中的Bean定义。 #### 五、总结 通过对Spring IoC容器的理解和源码分析,我们可以深入...

    spring的setter注入和构造注入(XML讲解以及常见错误)

    4. **注入的bean不存在**:当试图注入一个在XML配置中未定义的bean时,Spring会抛出`NoSuchBeanDefinitionException`。 5. **循环依赖**:两个或多个bean之间存在互相依赖的关系,如果没有正确处理,会导致Spring...

    spring错误总结.txt

    在创建名为`/shop/addItemToCart.do`的Bean时,出现`NoSuchBeanDefinitionException`异常,无法找到名为`petStore`的Bean定义。 **原因分析**: 这通常是因为在配置文件中没有正确地定义指定名称的Bean。 **解决...

    a road map through nachos

    ### Nachos系统概览 #### 一、Introduction to Nachos(Nachos简介) Nachos是一款教育软件,旨在帮助学生深入理解和实践操作系统的核心概念和技术。它为学生提供了一个基础的操作系统框架,支持线程、用户级进程...

    三大框架如何进行注解式注入

    如果包名配置错误或范围不正确,Spring将无法找到需要注入的bean,从而引发如描述中提到的`NoSuchBeanDefinitionException`异常。 错误示例: ```xml &lt;context:component-scan base-package="com.wrongpackage" /&gt; ...

    spring源代码解析一[收集].pdf

    如果无法找到Bean的定义,它会抛出`NoSuchBeanDefinitionException`。 最后,`getAliases(String name)`方法返回Bean的别名数组,别名可以有多个,使得可以从多个名称引用同一个Bean。这增加了代码的灵活性,使得...

    spring boot整合mybatis-plus启动报错问题及解答.pdf

    当它找不到一个预期的bean,例如`UserMapper`,就会抛出`NoSuchBeanDefinitionException`。在本例中,问题出在Spring Boot无法找到并注册`UserMapper`作为bean,这通常是由于包扫描配置不正确或者缺少必要的注解。 ...

    SpringMybatis:springMybatis多数据源

    SpringMybatis Spring / Mybatis多... org.springframework.beans.factory.NoSuchBeanDefinitionException:没有找到类型为[com.proto.net.aron.aronMapper]的合​​格Bean作为依赖项:至少应有1个有资格作为此依赖

    SPRING API 2.0.CHM

    All Classes ...NamedBean NamedParameterJdbcDaoSupport NamedParameterJdbcOperations NamedParameterJdbcTemplate NamedParameterUtils NameMatchMethodPointcut NameMatchMethodPointcutAdvisor ...

Global site tag (gtag.js) - Google Analytics