org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private i.service.UserService i.controller.UserController.userService;
由於個人Application.java 類發在web包下面和其餘Controller的放在了一塊兒了java
改成web
將Application.java類放到外層,異常就沒有,這應該是springboot 默認推薦的項目結構。spring
1. spring一般建議咱們將main方法所在的類放到一個root包下,@EnableAutoConfiguration(開啓自動配置)註解一般都放到main所在類的上面,從總體看去跟咱們平時的佈局差很少,就是將main方法放到了最底層。springboot
這樣@EnableAutoConfiguration能夠從逐層的往下搜索各個加註解的類,例如,你正在編寫一個JPA程序(若是你的pom裏進行了配置的話),spring會自動去搜索加了@Entity註解的類,並進行調用。佈局
一般咱們只須要一個@EnableAutoConfiguration類spa
2.使用@SpringbootApplication註解 能夠解決根類或者配置類(我本身的說法,就是main所在類)頭上註解過多的問題,一個@SpringbootApplication至關於@Configuration
,@EnableAutoConfiguration
和
@ComponentScan 並具備他們的默認屬性值。
code