我的配置是:
spring-4.2.3
mybatis-3.3.0
mybatis-spring-1.2.3
Run Code Online (Sandbox Code Playgroud)
映射器看起来像:
package com.vsi.idp.map.server.mapper;
//imports...
public interface SeniorMapper extends BaseMapper<Long, Senior>
{
@Results({...})
@Select(...)
public List<Senior> query(...);
}
Run Code Online (Sandbox Code Playgroud)
ServiceImpl看起来像:
package com.vsi.idp.map.server;
//imports...
@Service("querySenior")
public class SeniorQueryServiceImpl extends RemoteServiceServlet implements SeniorQueryService
{
@Autowired
SeniorMapper mapper;
@Override
public List<Senior> query(Address address, String careType){...}
}
Run Code Online (Sandbox Code Playgroud)
applicationContext.xml看起来像:
<beans ... default-lazy-init="true">
<!-- MyBatis Mapper Interfaces -->
<mybatis:scan base-package="com.vsi.idp.map.server.mapper" />
//other configurations
</beans>
Run Code Online (Sandbox Code Playgroud)
Spock单元测试如下所示,并按预期运行
@ContextConfiguration(locations = "file:war/WEB-INF/applicationContext.xml")
public class SeniorQueryServiceImplTest extends Specification{
@Autowired
SeniorQueryServiceImpl service
def "query by full address"(){
//blabla
}
}
Run Code Online (Sandbox Code Playgroud)
但是当启动 web 应用程序时,我收到了这个警告:
WARNING: No MyBatis mapper was found in '[com.vsi.idp.map.server.mapper]' package. Please check your configuration.
Run Code Online (Sandbox Code Playgroud)
那么,如何解决这个问题呢?
更新它是一个 gwt Web 应用程序,完整的错误堆栈是:
INFO: Root WebApplicationContext: initialization started Nov 23, 2015 7:12:29 PM org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh
INFO: Refreshing Root WebApplicationContext: startup date [Mon Nov 23 19:12:29 CST 2015]; root of context hierarchy Nov 23, 2015 7:12:29 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml] Nov 23, 2015 7:12:29 PM org.mybatis.spring.mapper.ClassPathMapperScanner doScan
WARNING: No MyBatis mapper was found in '[com.vsi.idp.map.server.mapper]' package. Please check your configuration.Nov 23, 2015 7:12:30 PM org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor <init>
INFO: JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
Module setup completed in 1698 ms
Nov 23, 2015 7:12:30 PM org.springframework.web.context.ContextLoader initWebApplicationContext
INFO: Root WebApplicationContext: initialization completed in 1557 ms
Run Code Online (Sandbox Code Playgroud)
小智 5
@MapperScan(basePackages = "com.vsi.idp.map.server.mapper")
Run Code Online (Sandbox Code Playgroud)
您可以尝试添加它!
你MapperScannerConfigurer在applicationContext.xml中定义了吗?如果有,请删除它。
我的 applicationContext.xml 中有以下配置,当我删除它时,警告消失了。
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.james.reg.mapper" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12348 次 |
| 最近记录: |