时间:2021-05-19
问题描述
今天重新在搭建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问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一)spring-boot-starter命名规则自动配置模块命名规则:xxx-spring-boot,如:aspectlog-spring-boot启动器命名
创建了一个空的SpringMVC项目,Tomcat可以正常启动,但是运行的时候,始终进不了Controller,并且报404错误。百度各种查,结果也是查不到原因
问题描述在spring-boot启动时,希望能执行相应的sql文件来初始化数据库。使用配置文件初始化数据库可以在spring-boot的配置文件applicat
Eclipse启动Tomcat后无法访问项目解决办法前言:Eclipse中的Tomcat可以正常启动,不过发布项目之后,无法访问,包括http://localh
症状:tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误。同时其他项目页面也不能访