Spring Boot: Consider defining a bean of type '*.*.*' in your configuration solution

    Solution 1: Mapper annotation (Dao layer)

 1 package com.demo.mapper;  2 
 3 import org.apache.ibatis.annotations.Mapper;  4 
 5 import com.demo.domain.User;  6 
 7 @Mapper  8 public interface UserMapper {  9 
10     public User gYeMian(User u); 11 
12     public int sYeMian(User u); 13 
14 }

    Solution 2: Application (startup class)

 1 package com.demo;  2 
 3 import org.mybatis.spring.annotation.MapperScan;  4 import org.springframework.boot.SpringApplication;  5 import org.springframework.boot.autoconfigure.SpringBootApplication;  6 
 7 @SpringBootApplication  8 @MapperScan(value = "com.demo.mapper")  9 public class App 10 { 11     public static void main(String[] args) throws Exception { 12         SpringApplication.run(App.class, args); 13  } 14 }

    Reason: There is a class MybatisAutoConfiguration in the jar package of mybatis-spring-boot-autoconfigure,

    The registerBeanDefinitions method in this class tells us

 1 @Override  2     public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata,  BeanDefinitionRegistry registry) {
 3 
 4       logger.debug("Searching for mappers annotated with @Mapper");  5 
 6       ClassPathMapperScanner scanner = new ClassPathMapperScanner(registry);  7 
 8       try {  9         if (this.resourceLoader != null) { 10           scanner.setResourceLoader(this.resourceLoader); 11  } 12 
13         List<String> packages = AutoConfigurationPackages.get(this.beanFactory); 14         if (logger.isDebugEnabled()) { 15           for (String pkg : packages) { 16             logger.debug("Using auto-configuration base package '{}'", pkg); 17  } 18  } 19 
20         scanner.setAnnotationClass(Mapper.class); 21  scanner.registerFilters(); 22  scanner.doScan(StringUtils.toStringArray(packages)); 23       } catch (IllegalStateException ex) { 24         logger.debug("Could not determine auto-configuration package, 
	 automatic mapper scanning disabled.", ex); 25  } 26     }

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326111279&siteId=291194637