鍍金池/ 問答/Java/ 求助org.springframework.beans.factory.Cann

求助org.springframework.beans.factory.CannotLoadBeanClassException

自學(xué)ssh框架,遇到如下問題,在網(wǎng)上查找很久不得所獲,懇請(qǐng)各位指教
錯(cuò)誤信息如下:

26-Nov-2017 10:52:35.207 信息 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.ApplicationContext.log Initializing Spring root WebApplicationContext
26-Nov-2017 10:52:39.038 嚴(yán)重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class [org.springframework.web.context.ContextLoaderListener]
 org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [service.impl.EmployeeServiceImpl] for bean with name 'employeeService' defined in ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: service.impl.EmployeeServiceImpl
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1385)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:641)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:609)
    at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1484)
    at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1007)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:741)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4745)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)

這是我的spring配置文件

<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: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/context
       http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
    <!--引入外部屬性文件-->
    <context:property-placeholder location="classpath:jdbc.properties"/>
    <!--配置連接池-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driverClass}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>
 
    <!--配置Hibernate相關(guān)的屬性-->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <!--注入連接池-->
        <property name="dataSource" ref="dataSource"/>
        <!--配置Hibernate的屬性-->
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
            </props>
        </property>
        <!--加載Hibernate中的映射文件-->
        <property name="mappingResources">
            <list>
                <value>domain/Department.hbm.xml</value>
                <value>domain/Employee.hbm.xml</value>
            </list>
        </property>
    </bean>
    <!--配置Action的類-->
    <bean id="employeeAction" class="action.EmployeeAction" scope="prototype"><!--多例的-->
        <property name="employeeService" ref="employeeService"/>
    </bean>
 
    <!--配置業(yè)務(wù)層的類-->
    <bean id="employeeService" class="service.impl.EmployeeServiceImpl">
        <property name="employeeDao" ref="employeeDao"/>
    </bean>
 
    <!--配置DAO的類-->
    <bean id="employeeDao" class="dao.impl.EmployeeDaoImpl">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>
 
    <!--配置事務(wù)管理器-->
    <bean id="transactionManger" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>
 
    <!--開啟注解事務(wù)-->
    <tx:annotation-driven transaction-manager="transactionManger"/>
</beans>

這個(gè)是EmployeeImpl類

package service.impl;
 
import dao.EmployeeDao;
import service.EmployeeService;
 
/**
 * 員工管理業(yè)務(wù)的實(shí)現(xiàn)類
 */
public class EmployeeServiceImpl implements EmployeeService{
    /**
     * 注入DAO層
     */
    private EmployeeDao employeeDao;
 
    public void setEmployeeDao(EmployeeDao employeeDao) {
        this.employeeDao = employeeDao;
    }
}

我已經(jīng)檢查過了,類名沒有寫錯(cuò),我懷疑是jar包導(dǎo)入錯(cuò)誤的問題,但是不知道是哪個(gè)jar包,以下是我的jar包
圖片描述

回答
編輯回答
孤慣

加個(gè)@Service注解試試

@Service
public class EmployeeServiceImpl implements EmployeeService{
 //omitted
2017年7月22日 14:08