問題描述
今天重新在搭建Spring Boot項目的時候遇到訪問Controller報404錯誤,之前在搭建的時候沒怎么注意這塊。新創建項目成功后,作為項目啟動類的Application在com.blog.start包下面,然后我寫了一個Controller,然后包的路徑是com.blog.ty.controller用的@RestController 注解去配置的controller,然后路徑也搭好了,但是瀏覽器一直報404。最后找到原因是Spring Boot只會掃描啟動類當前包和以下的包 ,就是說現在我啟動類的包是在com.blog.start下面,然后他就只會掃描com.blog.start或者com.blog.start.*下面所以的包,所以我的Controller在com.blog.ty.controller包下面Spring Boot就沒有掃描到。
解決辦法
方法一:
以啟動類的包路徑作為頂層包路徑,列如啟動類包為com.blog.start,那么Controller包路徑就為com.blog.start.controller。
方法二:
在啟動上方添加@ComponentScan注解,此注解為指定掃描路徑,例如:@ComponentScan(basePackages = {"com.blog.*,com.blog.ty.*"})
多個不同的以逗號分割。
@SpringBootApplication@ComponentScan(basePackages = {"com.blog.*,com.blog.ty.*"}) //指定掃描包路徑public class MyBlogApplication { public static void main(String[] args) { SpringApplication.run(MyBlogApplication.class, args); }}
下面看下SpringBoot的作用
1.創建獨立的Spring應用程序
2.嵌入的Tomcat,無需部署WAR文件
3.簡化Maven配置
4.自動配置Spring
5.提供生產就緒型功能,如指標,健康檢查和外部配置
6.開箱即用,沒有代碼生成,也無需XML配置
分布式事務和操作多數據源事務解決方案:Automatic+Jta,兩段提交協議,MQ推送
總結
以上所述是小編給大家介紹的解決Spring Boot 正常啟動后訪問Controller提示404問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
新聞熱點
疑難解答
圖片精選