1. 程式人生 > >Spring Boot:Action:Consider defining a bean of type '*.*.*' in your configuration解決方案

Spring Boot:Action:Consider defining a bean of type '*.*.*' in your configuration解決方案

rri framework 成功 ould script ota http per apache

  果然不看教程直接使用在遇到問題會懵逼,連解決問題都得搜半天還不一定能幫你解決了技術分享圖片。。。

***************************
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.

SpringBoot啟動失敗,告訴我Bean配置失敗,樓主看了看 該用的註解都用上了 這是咋的回事嘞?

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

 1 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 }

後來在網上看到網友說要用@Mapper註解,這才把問題解決了 至於具體原因,樓主還需要好好看看文檔再來解釋。

解決方案:

mapper(Dao層)

 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 }

Spring Boot:Action:Consider defining a bean of type '*.*.*' in your configuration解決方案