mybatis实例化了dao接口,但是spring的@Autowired无法注入
灬橙路灬 2015-10-15 12:45:02 这个是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:context="http://www.springframework.org/schema/context"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd">
<!-- 开启IOC注解扫描 -->
<context:component-scan base-package="com.jjkj"/>
<!-- 开启SpringMVC注解扫描 -->
<mvc:annotation-driven/>
<!-- 加载config.properties -->
<util:properties id="jdbc" location="classpath:config.properties"></util:properties>
<!-- 声明连接池 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="#{jdbc.driverName}"></property>
<property name="url" value="#{jdbc.url}"></property>
<property name="username" value="#{jdbc.username}"></property>
<property name="password" value="#{jdbc.password}"></property>
</bean>
<!-- 配置Session工厂 -->
<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 注入DataSource -->
<property name="dataSource" ref="dataSource"/>
<!-- 需要加载的mapper.xml,该bean被
创建后,会自动加载这些文件。 -->
<property name="mapperLocations" value="classpath:com/jjkj/sql/*.xml"/>
</bean>
<!-- 配置MapperScannerConfigurer -->
<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 注入需要扫描的包,它会自动扫描
这个包下的接口,然后实现这些接口,
并且会实例化这些接口的实现类。 -->
<property name="basePackage" value="com.jjkj.dao"/>
<property name="annotationClass" value="com.jjkj.annotation.MyBatisRepository"/>
</bean>
</beans>
这个是mybatis的mapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="com.jjkj.dao.UDao">
<!-- 根据用户名查业务员信息 -->
<select id="findByName" parameterType="string" resultType="com.jjkj.entity.User">
select * from _user where name=#{name}
</select>
</mapper>
这个是serviceImpl
@Service
public class UserServiceImpl implements Serializable, UserService{
@Autowired
private UDao dao;
public Result find(String name){
System.out.println(name);
Result result = new Result();
User user = dao.findByName(name);
result.setData(user);
result.setStatus(1);
result.setMsg("有错误");
return result;
};
public static void main(String[] args) {
UserServiceImpl im = new UserServiceImpl();
Result result = im.find("张三");
System.out.println(result.getMsg());
}
}
只要一执行main方法就报User user = dao.findByName(name);空指针.
求各位大神帮忙解决下