程序报错。不能自动注入,麻烦老师看看哪儿出问题了,谢谢
//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&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();
}
正在回答
同学你好。建议同学看看路径是否一致:
如果一致,有可能是同学创建resources文件夹下的文件路径的时候,用的是点进行分割的,导致其中这个不是好几个文件层级,而是这个文件夹的名字就是“com.imooc.sm.dao”了,导致和StaffDao不在同一个文件路径下。可以重新创建一下,两种办法:
一是:一层一层的创建
二是:创建文件夹的时候,用/斜杠分割,不要用点分隔
如果还有疑问,可以继续提问。如果解答了同学的疑问,望采纳~
祝学习愉快~
、
报错代码。我检查了spring的配置和xml配置。也查看了是否添加了注解,感觉都做了,但是还是一样的错误0·0 求老师帮忙看看,感谢。
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 人
- 提交作业 323 份
- 解答问题 8263 个
本阶段将带你学习主流框架SSM,以及SpringBoot ,打通成为Java工程师的最后一公里!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星