在controller層注入ConfigBean,編譯器報錯:

一開是以為是intellij idea 的告警級別設定的問題,就沒有在意,繼續啟動項目,結果控制台報錯:Consider defining a bean of type 'XXX' in your configuration.
錯誤信息顯示找不到這個Bean類。 但是我明明寫了啊。
后來經過一番查找,大概有了如下理解:
主要問題出在@SpringBootApplication 這個注解上。
點進這個注解,可以看到,此注解功能大概由下面多個注解構成,其中有個@ComponentScan
@ComponentScan這個注解主要就是定義掃描的路徑,從中找出標識了需要裝配的類自動裝配到spring的bean容器中。(我理解這個標識最根本就是@Component注解。那為什么之前日日coding的@Controller、@Service 也能被自動掃描進容器呢---因為點進這幾個注解,查看源碼就會發現他們有一個共同注解,就是@Component,它用於沒有明確角色的組件。(啊,過去的2年真的是不求甚解啊。。寫了兩年並不知道)。。。。。。)。
而我之前寫的ConfigBean並沒有加任何注解,所以就掃描不進啦。
加上注解@Component,項目啟動成功~!
問題解決了,接下來敲黑板,總結一下知識點:
1.啟動類Application中的@SpringBootApplication注解的功能之一是定義掃描路徑,找到需要配置的類(@ComponentScan注解)。
2.聲明Bean的注解有:
@Component 沒有明確角色的組件
@Service 在業務邏輯層(Service層)使用 -----源碼包含@Component
@Controller 用於標注控制層組件 -----源碼包含@Component
@RestController -----源碼包含@Controller -----源碼包含@Component
