版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
</div>
<!--一個博主專欄付費入口-->
<!--一個博主專欄付費入口結束-->
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-4a3473df85.css">
<div id="content_views" class="markdown_views">
<!-- flowchart 箭頭圖標 勿刪 -->
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
</svg>
<h1 id="spring-boot-中autowired注解無法自動注入的錯誤">spring boot 中@Autowired注解無法自動注入的錯誤</h1>
在使用springboot main方法啟動項目時遇到[@Autowdired]注解無法注入,網上查了很多資料也是一位網上的大神的一句話理通了思路:
異常信息:
異常信息:
Action:Consider defining a bean of type 'com.boot.app.service.bootService' in your configuration.
controller層:
@RestController
@Autowired
private BootService bootService;
@RequestMapping(value="/query",method=RequestMethod.POST)
public String queryByStatus() {
return "query";
}
}
發現注解均正常:
SpringBoot項目的Bean裝配默認規則是根據Application類所在的包位置從上往下掃描!“Application類”是指SpringBoot項目入口類。這個類的位置很關鍵:如果Application類所在的包為:com.boot.app,則只會掃描com.boot.app包及其所有子包,如果service或dao所在包不在com.boot.app及其子包下,則不會被掃描!即, 把Application類放到dao、service所在包的上級,com.boot.Application知道這一點非常關鍵
Application類:
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-b6c3c6d139.css" rel="stylesheet">
原文地址:https://blog.csdn.net/huihuilovei/article/details/62041734