關於SpringBoot bean無法注入的問題(與檔案包位置有關)
問題場景描述
整個專案通過Maven構建,大致結構如下:
- 核心Spring框架一個module
spring-boot-base
- service和dao一個module
server-core
- 提供系統後臺資料管理一個module
server-platform-app
- 給移動端提供rest資料介面一個module
server-mobile-api
其中server-platform-app
與server-mobile-api
分別是兩個springboot搭建的獨立服務端。server-platform-app
大致業務開發接近尾聲,然後獨立出另一個web端server-mobile-api
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [io.github.gefangshuai.rtat.service.RestaurantService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework .beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1301)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java :1047)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:533)
... 24 more
總是提示無法注入Service或者Dao中的Bean!
解決分析
後來經研究發現,SpringBoot專案的Bean裝配預設規則是根據Application類所在的包位置從上往下掃描!
“Application類”是指SpringBoot專案入口類。這個類的位置很關鍵:
如果Application類所在的包為:
io.github.gefangshuai.app
,則只會掃描io.github.gefangshuai.app
包及其所有子包,如果service或dao所在包不在io.github.gefangshuai.app
及其子包下,則不會被掃描!
知道這一點非常關鍵,不知道Spring文件裡有沒有給出說明,如果不知道還真是無從解決。
相關推薦
關於SpringBoot bean無法注入的問題(與檔案包位置有關)
問題場景描述 整個專案通過Maven構建,大致結構如下: 核心Spring框架一個module spring-boot-base service和dao一個module server-core 提
關於SpringBoot bean無法注入的問題(與檔案包位置有關)改變自動掃描的包
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'com.example.SpringBootJdbcDemoApplication.SpringBootJdbcDe
關於SpringBoot bean無法註入的問題(與文件包位置有關)改變自動掃描的包
sca 解決方案 ttr att tails tar nts csdn 自動掃描 參考網址:http://blog.csdn.net/u014695188/article/details/52263903 問題描述:SpringBoot bean無法註入的問題(與文件包
史上最簡單SpringBoot @Bean & @Qualifier 注入(零 XML 注入)
首先,Create 一個名叫 ApplicationConfig 的類: —> 1、用 @Configuration 註解上 —> 2、繼承 WebMvcConfigurerAdapter (零 XML 注入) —> 3、定義一個方法用 @Be
SpringBoot bean無法注入
*************************** APPLICATION FAILED TO START *************************** Description: Field userP in com.springboot.controller
解決springboot多模組注入(@Bean、@Service、@Component)訪問不到的問題
如果你因為Service注入失敗,看過無數文章,甚至看過N份原始碼仍不得要領,希望我能終結你的問題; SpringBoot中Service自動注入很方便,例: Service.class(介面類) ServiceImpl.class(實現類) Controller
對 spring中xml配置的初步理解,併成功注入(spring jar包版本號一定要同一)
//.java package com.learning.ioc.interfaces; public interface OneInterface { public void say(String arg); } package com.learning.ioc.int
Spring容器和bean的注入(1)
第一節 在IOC容器中裝配Bean 1.1Spring容器成功啟動條件 1.匯入Spring框架相關的jar包 2.正確配置spring配置檔案 3.Bean的類都已放到應用程式的類路徑下 1.2Bean配置資訊的組成 Bean配置資
spring中Bean的注入(1)
Bean的注入包含的內容: XML注入 構造方法注入、靜態工廠注入、例項工廠注入,屬性注入的幾種方式(構造方法注入,set方法注入,p名稱空間注入,物件,集合、陣列、Map,Properties) Java注入:@Configuration、@Bean 自動注入:
Spring @Service生成bean名稱的規則(當類的名字是以兩個或以上的大寫字母開頭的話,bean的名字會與類名保持一致)
@Service標註的bean,類名:EBSupplierService jsf服務的配置: <bean id="ebMonitorInnerServiceFacadeImpl" class = "com.trip.hotel.inner.api.impl.EBMonitorInner
spring Junit單元測試 bean 無法注入的問題
本人菜鳥在學習ssh 過程 ,遇見問題 向各位大佬請教。進行單元測試 爆出下面提示: 貼出下面配置資訊: applicationContext.xml 實現service 介面類 實現dao介面類 單元測試 進過本菜鳥的各種錯嘗試,上面的配置檔案內容沒有錯誤,只是整合框架的過
R語言與文字挖掘入門篇(各軟體包詳解)-謝佳標-專題視訊課程
R語言與文字挖掘入門篇(各軟體包詳解)—2926人已學習 課程介紹 本課程主要是利用R語言工具實現文字挖掘。主要內容包括:1、介紹文字挖掘的基本原理;2、文字挖掘相關包的安裝講解;3、tm包和Rwordseg包的詳解。課程收益 學習完本課程,學員能掌握利用
[Uva12563] Jin Ge Jin Qu hao (完全背包,dp)
stdin 附加 pre int sizeof span max -1 main 題目鏈接:https://vjudge.net/problem/UVA-12563 題意:n首歌要在m-1的時間內挑k首唱,現在希望在k盡可能大的情況下,時間盡可能長地唱。問最後最大k+1多大
關於小程序的坑(與註意的點)
ges 不定 log tom 文件中 排列 不能 好用 蘋果 一、在使用滾動視圖scroll-view、橫向滾動(scroll-x)時: 1、要加點樣式才生效:white-space:nowrap。 2、不能設置display:flex,用display:inlin
Linux管理員入門講解(與Win系統的區別)
linux 管理 員入 今天帶大家一起學習Linux,以後有空的話就一天一更,接下來都是講Linux系統的操作。大家都知道Win是一款以圖形為基礎的操作系統,其實更專業點的說,Win適合做客戶端,而Linux系統適合做服務器。 那Linux系統你進入就是一臺黑白電視機,沒錯!就是黑
2017科協青少年科技中心--中央電教館(與科技相關的比賽)
www. view 通知 www .cn 中心 target 數字 .html 科協青少年科技中心http://www.cyscc.org.cn/--------機器人方向關於舉辦第十八屆中國青少年機器人競賽暨2018世界青少年機器人邀請賽的通知http://www.
手工編譯安裝Apache網站(源碼包編譯安裝)
並發連接 oss 使用 write init.d 設置 level 1.4.1 ces 實驗目標1.學會構建AWStats日誌分析系統2.學會編譯安裝httpd服務器3.熟悉httpd服務的部署過程及常見配置 實驗環境1.安裝包apr-util-1.4.1.tarapr-1
Robberies (01背包dp變形)
答案 bsp .net cin ems i++ wid str algorithm ? 題意:一個強盜要搶劫銀行又不想被抓到,所以要進行概率分析求他在不被抓的情況下能搶最多的錢。他給定T(樣例個數),N(要搶的銀行的個數),P(被抓的概率要小於P)Mj(強盜能搶第j個銀
squid傳統代理(附壓縮包文件)
cef 初始化 ln -s mct 文件 alt cor ... 大小 說明:當客戶機通過代理來請求web頁面時,指定的代理服務器會先檢查自己的緩存,如果緩存中已經有客戶機需要訪問的頁面(紅色1 2 3 4),則直接將緩存中的頁面內容反饋給客戶機;如果緩存中沒有客戶機需要訪
旋轉卡殼(計算凸包的寬度)
#include <bits/stdc++.h> #define ll long long using namespace std; const int N = 2e5+100; struct P{ ll x,y; P(ll _x=0,ll _y=0){x=_