问题描述
今天重新在搭建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.*"})
多个不同的以逗号分割。
1
2
3
4
5
6
7
|
@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问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://www.cnblogs.com/tangyin/archive/2018/08/22/9517588.html