Mybatis的mapper注入不成功

丶KKdo 发布于 2016/10/08 15:52
阅读 2K+
收藏 0

在Junit单元测试的时候可以获取到bean并且调用, 但是在web上运行的时候, 断点看到mapper的值并没有注入成功, 是null, 会报nullpointException

具体sping里面的mapper自动扫描配置:

<context:component-scan base-package="com.kkdo" />
	<context:annotation-config />
	<aop:aspectj-autoproxy proxy-target-class="true" />
<!-- mapper自动扫描配置 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.kkdo.core.mapper" />
		<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
	</bean>



java类:

@Component
public class DefaultShiroFactory implements IShiro {
	//注入userMapper
	@Resource
	private UserMapper userMapper;
	
	@SuppressWarnings("unused")
	@Override
	public User user(String account) {
		//通过账号查找User
		User user = userMapper.findByName(account);
		//...
		return user;
	}



然后junit测试代码:
public class MapperTest {
	private static ApplicationContext actx = new ClassPathXmlApplicationContext("classpath:spring/applicationContext.xml");
	
	@Test
	public void testMapper() {
		DefaultShiroFactory dsf = (DefaultShiroFactory) actx.getBean("defaultShiroFactory");
		User user = dsf.user("admin");
		System.out.println(user.getPassword());
	}

}



console正确的输出了查询出来的用户密码.

这里是获取的defaultShiroFactory的bean,然后里面的userMapper的方法也正确的执行了,说明junit测试里的注入是正常的啊.

然后启动服务,打个断点


执行到这里,显示为空,这是为什么呢?

在web.xml里也加载了啊

<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:spring/applicationContext.xml</param-value>
	</context-param>
	<servlet>



加载中
0
就是个精虫上脑的地方
就是个精虫上脑的地方
这段配置了么?
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
		  lazy-init="false">
		<property name="dataSource" ref="dataSource" />
		<property name="mapperLocations" value="classpath:sqlmapper/*Mapper.xml" />
		<property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>




0
阿信sxq
阿信sxq
使用set方法注入,顺便在set的时候看看有没有注入
0
求是科技
求是科技
https://my.oschina.net/u/2312022/blog/744314
返回顶部
顶部