Our project not use @SpringBootApplication, and use @Import usage configuration, and how to import mybatis and tk package to solve these problems, thanks for help!!!
mapper:
mappers: com.xxx.xxx.dao.CommonMapper
not-empty: false
identity: MYSQL
pagehelper:
helper-dialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSqlv
Error:
2019-01-13 22:44:37.411 [main] [INFO ] c.x.a.b.webapp.BidderApplication:663 - The following profiles are active: local
2019-01-13 22:44:37.431 [main] [INFO ] o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext:590 - Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@7756c3cd: startup date [Sun Jan 13 22:44:37 CST 2019]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@10feca44
2019-01-13 22:44:38.812 [main] [ERROR] o.s.boot.SpringApplication:842 - Application run failed
java.lang.NoSuchMethodError: tk.mybatis.spring.mapper.ClassPathMapperScanner.setMapperFactoryBean(Lorg/mybatis/spring/mapper/MapperFactoryBean;)V
at tk.mybatis.spring.annotation.MapperScannerRegistrar.registerBeanDefinitions(MapperScannerRegistrar.java:56)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:357)
at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:356)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:144)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:117)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:328)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:233)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:273)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:93)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:694)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:327)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243)
at com.xinmei.ad.bidder.webapp.BidderApplication.main(BidderApplication.java:85)
Our project not use @SpringBootApplication, and use @Import usage configuration, and how to import mybatis and tk package to solve these problems, thanks for help!!!
pom:
main file: @Configuration @Import(value = { CodecsAutoConfiguration.class, CuratorServiceDiscoveryAutoConfiguration.class, DispatcherServletAutoConfiguration.class, EmbeddedWebServerFactoryCustomizerAutoConfiguration.class, EndpointAutoConfiguration.class, ErrorMvcAutoConfiguration.class, HealthIndicatorAutoConfiguration.class, HealthEndpointAutoConfiguration.class, HttpEncodingAutoConfiguration.class, HttpMessageConvertersAutoConfiguration.class, InfoContributorAutoConfiguration.class, InfoEndpointAutoConfiguration.class, JacksonAutoConfiguration.class, PropertyPlaceholderAutoConfiguration.class, RefreshAutoConfiguration.class, RefreshEndpointAutoConfiguration.class, ServletWebServerFactoryAutoConfiguration.class, ServiceRegistryAutoConfiguration.class, UtilAutoConfiguration.class, WebEndpointAutoConfiguration.class, WebMvcAutoConfiguration.class, WebMvcEndpointManagementContextConfiguration.class, ZookeeperAutoConfiguration.class, ZookeeperAutoServiceRegistrationAutoConfiguration.class, ZookeeperDiscoveryAutoConfiguration.class, ZookeeperDiscoveryClientConfiguration.class, ZookeeperServiceRegistryAutoConfiguration.class, }) @EnableDiscoveryClient @EnableAsync(proxyTargetClass = true) @EnableAspectJAutoProxy(proxyTargetClass = true) @EnableRetry @MapperScan("com.xxx.xxx.dao") //配置扫描mapper接口的地址 public class BidderApplication {
}
yml: mybatis: mapper-locations: classpath:mappers/*.xml type-aliases-package: com.xxx.xxx.entity configuration: map-underscore-to-camel-case: true
mapper: mappers: com.xxx.xxx.dao.CommonMapper not-empty: false identity: MYSQL
pagehelper: helper-dialect: mysql reasonable: true supportMethodsArguments: true params: count=countSqlv
Error: 2019-01-13 22:44:37.411 [main] [INFO ] c.x.a.b.webapp.BidderApplication:663 - The following profiles are active: local 2019-01-13 22:44:37.431 [main] [INFO ] o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext:590 - Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@7756c3cd: startup date [Sun Jan 13 22:44:37 CST 2019]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@10feca44 2019-01-13 22:44:38.812 [main] [ERROR] o.s.boot.SpringApplication:842 - Application run failed java.lang.NoSuchMethodError: tk.mybatis.spring.mapper.ClassPathMapperScanner.setMapperFactoryBean(Lorg/mybatis/spring/mapper/MapperFactoryBean;)V at tk.mybatis.spring.annotation.MapperScannerRegistrar.registerBeanDefinitions(MapperScannerRegistrar.java:56) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:357) at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:356) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:144) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:117) at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:328) at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:233) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:273) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:93) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:694) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395) at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243) at com.xinmei.ad.bidder.webapp.BidderApplication.main(BidderApplication.java:85)