Spring Boot 找不到Mapper文件,直接运行时异常

没有好好学SpringBoot直接就用代码出现一系列解决不了的错误显示报错信息如下:

***************************
APPLICATION FAILED TO START
***************************
Description:
Field mapper in com.demo.service.impl.UserServiceImpl required a bean of type 'com.demo.mapper.UserMapper' that could not be found.
Action:
Consider defining a bean of type 'com.demo.mapper.UserMapper' in your configuration.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

代码分析如下:

mapper(dao层)

1 package com.demo.mapper;
 2 
 3 import org.springframework.context.annotation.ComponentScan;
 4 import org.springframework.stereotype.Repository;
 5 
 6 import com.demo.domain.User;
 7 
 8 //@Component
 9 @Repository
10 public interface UserMapper {
11 
12     public User gYeMian(User u);
13 
14     public int sYeMian(User u);
15 
16 }

service层

package com.demo.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.demo.domain.User;
import com.demo.mapper.UserMapper;
import com.demo.service.UserService;

@Service(value = "userService")
public class UserServiceImpl implements UserService{
    
    @Autowired
    private UserMapper mapper;

    @Override
    public User gYeMian(User u) {
        User user = mapper.gYeMian(u);
        return user;
    }

    @Override
    public int sYeMian(User u) {
        int i = mapper.sYeMian(u);
        return i;
    }

}

controller层

package com.demo.controller;
 2 
 3 import javax.servlet.http.HttpServletRequest;
 4 
 5 import org.springframework.beans.factory.annotation.Autowired;
 6 import org.springframework.stereotype.Controller;
 7 import org.springframework.web.bind.annotation.RequestMapping;
 8 import org.springframework.web.bind.annotation.ResponseBody;
 9 
10 import com.demo.domain.User;
11 import com.demo.service.UserService;
12 
13 @Controller
14 @RequestMapping(value = "/uc")
15 public class UserController {
16     
17     @Autowired
18     private UserService userService;
19     
20     @ResponseBody
21     @RequestMapping("/stemp.htm")
22     private String sYeMian(String muBan, HttpServletRequest request){
23 
24         User u = new User();
25         u.setMuBan(muBan);
26         System.out.println("muBan=" + muBan);
27         int i = userService.sYeMian(u);
28         
29         if (i>0){
30             return "存储成功";
31         }
32             return "存储失败";
33     }
34 
35 }

解决方案

 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 }

在mapper(dao层)加上@Mapper注解,否则提示找不到Mapper

猜你喜欢

转载自blog.csdn.net/liqun_super/article/details/81184132