创建bean时出错,自动连接依赖项注入失败,无法自动连接字段

蔡伟:

卡住了一个异常,下面是日志:

org.springframework.beans.factory.BeanCreationException:创建名称为“ speaker”的bean时出错:自动连接依赖项注入失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:无法自动装配方法:public final void org.mybatis.spring.support.SqlSessionDaoSupport.setSqlSessionTemplate(org.mybatis.spring.SqlSessionTemplate); 嵌套的异常是java.lang.NoSuchMethodError:org.springframework.core.MethodParameter.getNestedParameterType()Ljava / lang / Class

Java Web服务:

@WebService
public class voiceRecognition extends SpringBeanAutowiringSupport {
    @Autowired
    private Speaker speaker;


    @WebMethod
    public void test() {

        String userid = "111";
        String enrollmentid = "111";

        try{
        String test1 = speaker.getEnrollmentId(userid);  
        System.out.println(test1);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }    
    }
}

Speaker.java:

package ph.com.aub.mapper;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;

@Service
public interface Speaker {

    public String getEnrollmentId(@Param("userid") String userid);

}

Speaker.xml:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace = "ph.com.aub.mapper.Speaker">

<select id = "getEnrollmentId" resultType = "string" parameterType = "string">
Select enrollmentid from speakerids where userid = #{userid}
</select>

</mapper>

web.xml:

<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5">

  <servlet>
    <servlet-name>voiceRecognitionPort</servlet-name>
     <!--<servlet-class>ph.com.aub.domain.voiceRecognition</servlet-class>-->
    <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>voiceRecognitionPort</servlet-name>
    <url-pattern>/voiceRecognitionPort</url-pattern>
  </servlet-mapping>

 <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
</web-app>

applicationContext.xml:

<?xml version="1.0" encoding="UTF-8" ?>

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans     
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <context:component-scan base-package="ph.com.aub.domain.voiceRecognition"/>
    <context:component-scan base-package="ph.com.aub.mapper"/>
    <context:annotation-config/>


    <bean id="dataSourceSpeaker" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName" value="Speakerdata"/>
    </bean>

    <bean id="sqlSessionFactorySpeaker" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSourceSpeaker"/>
        <property name="typeAliasesPackage" value="ph.com.aub.domain"/>
        <property name="configLocation" value="/WEB-INF/mybatis-config.xml"/>
    </bean>

    <bean id="mapperSpeaker" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="ph.com.aub.mapper" />
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactorySpeaker" />
    </bean>

</beans>
陈健:

我相信你配置basePackageMapperScannerConfigurer不正确。它应该是包含mapper类而不是mapper类本身的包。因此,尝试将更basePackage改为:

<bean id="mapperSpeaker" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="ph.com.aub.mapper" />
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactorySpeaker" />
</bean>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

创建bean时出错。自动连接的依赖项注入失败。无法自动连接字段

创建名为employeeController 的bean 时出错。自动装配依赖项的注入失败。无法自动装配字段

创建名称为'Individual_Controller'的bean时出错:自动连接依赖项的注入失败;

创建名称为'serviceController'的bean时出错:自动连接依赖项的注入失败;

自动连接的依赖项注入失败,无法自动连接字段

创建 bean 时出错:自动装配依赖项的注入失败

创建名称为'securityConfig'的bean时出错,自动连接依赖项的注入失败;异常java.lang.IllegalArgumentException

我在哪里弄错'创建名称为'userService'的bean时出错:自动连接依赖项的注入失败'?

创建名称为bean的错误:自动连接的依赖项注入失败,无法解析占位符

创建名称为'JobTest'的bean时出错:自动连接依赖项的注入失败;嵌套的异常是org.springframework.beans.factory.BeanCreat

创建名为“employeeController”的 bean 时出错:注入自动装配的依赖项失败

使用contactService创建bean名称时出错,并且自动绑定依赖项注入失败

BeanCreationException:自动连接的依赖项注入失败

自动连接的依赖项注入失败-

Spring数据jpa-未定义名为'entityManagerFactory'的bean。自动连接的依赖项注入失败

Spring BeanCreationException自动连接依赖项注入失败

弹簧启动:自动连接依赖项注入失败;

自动连接的依赖项注入失败NoClassDefFoundError:SpringNamingPolicy

Spring MVC Hibernate应用程序中自动连接依赖项的注入失败错误

自动连接的依赖项注入失败;嵌套的异常是org.springframework.beans.factory.BeanCreationException:

自动连接的依赖项注入失败;嵌套的异常是org.springframework.beans.factory.BeanCreationException

自动注入依赖项注入失败

自动连接的依赖项注入失败;嵌套的异常是java.lang.NoClassDefFoundError:org / hibernate / cfg / Configuration

使用spring-boot在依赖项注入中创建bean时出错

在jar文件中注入自动绑定的依赖项失败

即使有依赖项Bean,创建Bean时也会出错

在Spring中创建Bean时出错,在pom中声明了依赖项,spring无法找到类

如何自动连接@bean类

连接依赖项时的循环依赖项