出现org.springframework.beans.factory.NoSuchBeanDefinitionException异常

来源:6-5 Json转化工具-JsonMapper开发

慕尼黑8349646

2019-05-07

具体异常如下:org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘com.nylzh.dao.SysAclModuleMapper’ available,
我的TestController:
//这个地方报了异常
SysAclModuleMapper moduleMapper = ApplicationContextHelper.popBean(SysAclModuleMapper.class);
SysAclModule module = moduleMapper.selectByPrimaryKey(1);
我的applicationContext.xml配置文件

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.nylzh.dao" />
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>
我的dao里面也有相应的类。
请老师帮我看看这是什么问题,我已经找了两天了,谢谢老师
写回答

3回答

Jimin

2019-05-08

web.xml里的
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
这个写了吗?

0
1
慕尼黑8349646
老师,非常感谢!确实是这个原因啊。
2019-05-08
共1条回复

慕尼黑8349646

提问者

2019-05-08

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:tx="http://www.springframework.org/schema/tx"

       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">


    <!--该配置文件用于处理springbean相关的配置-->

    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

        <property name="ignoreUnresolvablePlaceholders" value="true"/>

        <property name="locations">

            <list>

                <value>classpath:settings.properties</value>

            </list>

        </property>

    </bean>

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">

        <property name="driverClassName" value="${db.driverClassName}" />

        <property name="url" value="${db.url}" />

        <property name="username" value="${db.username}" />

        <property name="password" value="${db.password}" />

        <property name="initialSize" value="3" />

        <property name="minIdle" value="3" />

        <property name="maxActive" value="20" />

        <property name="maxWait" value="60000" />

        <property name="filters" value="stat,wall" />

    </bean>


    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

        <property name="configLocation" value="classpath:mybatis-config.xml" />

        <property name="dataSource" ref="dataSource" />

        <property name="mapperLocations" value="classpath:mapper/*.xml" />

    </bean>

    <!--MapperScannerConfigurer不生效-->

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

        <property name="basePackage" value="com.nylzh.dao" />

        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />

    </bean>

    <!-- tx -->

    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

        <property name="dataSource" ref="dataSource" />

    </bean>

    <tx:annotation-driven transaction-manager="transactionManager" />

    <!-- druid -->

    <bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter">

        <property name="slowSqlMillis" value="3000" />

        <property name="logSlowSql" value="true" />

        <property name="mergeSql" value="true" />

    </bean>

    <bean id="wall-filter" class="com.alibaba.druid.wall.WallFilter">

        <property name="dbType" value="mysql" />

    </bean>

</beans>

mapper所在的位置

//img.mukewang.com/szimg/5cd2249d00017d7f04670559.jpg

spring-servlet.xml文件(位于WEB-INF下面)

<?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"

       xmlns:mvc="http://www.springframework.org/schema/mvc"

       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.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">


    <!--该配置文件用于处理请求相关的问题-->

    <context:annotation-config />

    <!-- 启动注解驱动的spring mvc 功能 -->

    <mvc:annotation-driven/>

    <!--<mvc:interceptors>

        <bean class="com.nylzh.common.HttpInterceptor"/>

    </mvc:interceptors>-->


    <!-- 启动包扫描功能 -->

    <context:component-scan base-package="com.nylzh.controller" />

    <context:component-scan base-package="com.nylzh.service" />


    <!--获取spring上下文的bean,启动的时候就加载-->

    <bean class="com.nylzh.common.ApplicationContextHelper" lazy-init="false"/>


    <!--将全局异常处理类交给spring管理-->

    <bean class="com.nylzh.common.SpringExceptionResolver"/>

    <!--请求数据的处理-->

    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />

    <!--返回数据的处理-->

    <bean class="org.springframework.web.servlet.view.BeanNameViewResolver" />

    <!--返回json用MappingJackson2JsonView类来处理-->

    <bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView" />

    <!--返回jsp用InternalResourceViewResolver类来处理-->

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

        <property name="prefix" value="/views/" />

        <property name="suffix" value=".jsp" />

    </bean>

</beans>

mybatis-config.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
       PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
       "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
   <settings>
       <setting name="safeRowBoundsEnabled" value="true"/>
       <setting name="cacheEnabled" value="false" />
       <setting name="useGeneratedKeys" value="true" />
   </settings>
</configuration>

0
0

Jimin

2019-05-07

你好,你把数据源相关的配置及mapper所在的包名发一下

0
0

Java开发企业级权限管理系统

源于企业真实Java项目,涉及大量高级技巧,覆盖权限管理开发技术

2261 学习 · 1347 问题

查看课程