程序报错。不能自动注入,麻烦老师看看哪儿出问题了,谢谢

程序报错。不能自动注入,麻烦老师看看哪儿出问题了,谢谢

//spring配置

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

   <!--spring整合Mybatis-->
   <!--数据源-->
   <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
       <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
       <property name="url" value="jdbc:mysql://localhost:3306/hospital?useUnicode=true&amp;characterEncoding=utf-8"/>
       <property name="username" value="root"/>
       <property name="password" value="root"/>
   </bean>
   <!--session工厂-->
   <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
       <property name="dataSource" ref="dataSource"/>
       <property name="typeAliasesPackage" value="com.imooc.entity"/>
   </bean>
   <!--持久化对象-->
   <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
       <property name="basePackage" value="com.imooc.dao"/>
       <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
   </bean>
   <!-- 声明式事务 -->
   <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
       <property name="dataSource" ref="dataSource"/>
   </bean>
   <tx:advice id="txAdvice" transaction-manager="transactionManager">
       <tx:attributes>
           <tx:method name="get*" read-only="true"/>
           <tx:method name="find*" read-only="true"/>
           <tx:method name="search*" read-only="true"/>
           <tx:method name="*" propagation="REQUIRED"/>
       </tx:attributes>
   </tx:advice>
   <!--织入-->
   <aop:config>
       <aop:pointcut id="txPointcut" expression="execution(* com.imooc.service.*.*(..))"/>
       <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/>
   </aop:config>
   <!--自动扫描-->
   <!--全局扫描-->
   <context:component-scan base-package="com.imooc"/>
   <aop:aspectj-autoproxy/>
</beans>

//categoryDao配置

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.4//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.imooc.dao.CategoryDao">
   <resultMap id="resultMap" type="Department">
       <id property="id" column="id" javaType="Integer"/>
       <result property="name" column="name" javaType="String"/>
       <result property="createTime" column="create_time" javaType="java.util.Date"/>
       <result property="updateTime" column="update_time" javaType="java.util.Date"/>
   </resultMap>
   <insert id="add" parameterType="Category" useGeneratedKeys="true">
       insert into category(name,create_time) values(#{name},#{createTime})
   </insert>
   <delete id="delete" parameterType="Integer">
       delete from category where id=#{id}
   </delete>
   <update id="update" parameterType="Category">
       update category set name=#{name},update_time=#{updateTime} where id=#{id}
   </update>
   <select id="selectById" parameterType="Integer" resultMap="resultMap">
       select * from category where id=#{id}
   </select>
   <select id="selectAll" resultMap="resultMap">
       select * from category
   </select>
</mapper>

//serviceimpl类代码

package com.imooc.service.impl;

import com.imooc.dao.CategoryDao;
import com.imooc.entity.Category;
import com.imooc.service.CategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
@Service("categoryService")
public class CategoryServiceImpl implements CategoryService {
   @Autowired
   private CategoryDao categoryDao;
   public void add(Category category) {
       categoryDao.add(category);
   }

   public void delete(int id) {
      categoryDao.delete(id);
   }

   public void update(Category category) {
     categoryDao.update(category);
   }

   public Category selectById(int id) {
       return categoryDao.selectById(id);
   }

   public List<Category> selectAll() {
       return categoryDao.selectAll();
   }
}

//Dao类代码

package com.imooc.dao;

import com.imooc.entity.Category;
import org.springframework.stereotype.Repository;

import java.util.List;
@Repository("categoryDao")
public interface CategoryDao {
   void add(Category category);
   void delete(int id);
   void update(Category category);
   Category selectById(int id);
   List<Category> selectAll();
}


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好。建议同学看看路径是否一致:

5c0a27fd00017ef304790531.jpg

如果一致,有可能是同学创建resources文件夹下的文件路径的时候,用的是点进行分割的,导致其中这个不是好几个文件层级,而是这个文件夹的名字就是“com.imooc.sm.dao”了,导致和StaffDao不在同一个文件路径下。可以重新创建一下,两种办法:

    一是:一层一层的创建

   二是:创建文件夹的时候,用/斜杠分割,不要用点分隔

如果还有疑问,可以继续提问。如果解答了同学的疑问,望采纳~

祝学习愉快~


提问者 Daisy3924553 2019-06-11 12:27:06

http://img1.sycdn.imooc.com//climg/5cff2d620001a5ab23180435.jpg

报错代码。我检查了spring的配置和xml配置。也查看了是否添加了注解,感觉都做了,但是还是一样的错误0·0 求老师帮忙看看,感谢。

  • 请同学把报错信息复制粘贴出来吧,将报错信息贴全一些。注意不要贴在回复里,会失去代码的格式。可以用回答这个问题的方式,将代码贴入。 祝学习愉快~
    2019-06-11 17:46:46
  • 另外请提供一下项目目录截图,请把关键位置都展开。
    2019-06-11 17:47:35
  • 提问者 Daisy3924553 回复 芝芝兰兰 #3
    这个问题已经解决了,我的spring.xml文件中的持久化操作配置路径有问题。谢谢老师
    2019-06-11 17:49:00
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师