springboot controller无效的处理方案

目录
  • springboot controller无效
  • springboot无法识别controller

springboot controller无效

最近在学习spring boot,刚配置好项目,写了一个controller,运行后发现无法正常显示

在网上搜了一下,这是因为controller的路由没被注册

原因:启动类application跟controller不在一个包中,扫描不到controller,应该让启动类和Controller的包在同一级目录下

如启动类在com.xxx.a,controller在com.xxx.b 解决办法:

方法1:将controller跟启动类放在一个包中,或者在启动类所在包的子包中

方法2:在启动类上添加注解 @ComponentScan(“controller类所在包名”)

springboot无法识别controller

springboot项目的一个模块中,无法识别controller ,断点和日志都进不去。

总是提示路径不对:

找了半天,终于发现了一个问题:

目录结构有问题,SearchApplication的路径是

com.tensquare.search.SearchApplication

而ArticleController 的路径是:

com.tensquare.controller.ArticleController

发现了没,很低级的错误,根本扫描不到。

而springboot项目加载的时候@SpringBootApplication注解会去扫描当前目录以及子目录的文件,修改路径即可。其实idea也给出了提示

ArticleController是灰色的,代表没有扫描到,路径修改对了就会变成白色的高亮显示

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2021-10-12

springboot用controller跳转html页面的实现

在学习SpringBoot的过程中遇到一个问题,因为SpringBoot是集成了tomcat的,所以项目是打成jar包,通过SpringMVC注解的方式去运行的,所以静态页面就放在maven工程的resources目录下的templates目录下所以怎么去跳转是个问题,现在就是解决这个问题 首先看项目结构 pom.xml文件依赖 <!-- 1.创建一个Maven工程,选择jar类型项目2.引入SpringBootMaven依赖. --> <!-- Maven parent 目的,聚合工程

SpringBoot对Controller进行单元测试的实现代码 附乱码解决方案

Controller代码 package com.keafmd.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.Map; /** * Keafmd * * @ClassName: Hel

SpringBoot @ControllerAdvice 拦截异常并统一处理

在spring 3.2中,新增了@ControllerAdvice 注解,可以用于定义@ExceptionHandler.@InitBinder.@ModelAttribute,并应用到所有@RequestMapping中.参考:@ControllerAdvice 文档 一.介绍 创建 MyControllerAdvice,并添加 @ControllerAdvice注解. package com.sam.demo.controller; import org.springframework.ui

SpringBoot扫描不到Controller的解决方案

SpringBoot小白创建项目,扫描不到Controller一系列问题 1. 2. 3. 4. 5. 6.还有一种办法是在启动服务类的入门,添加@ComponentScan(basePackages={"xxx.xxx.xx","xxx.xxx.xx"})里面的是包的全限定名,可以为多个 SpringBoot 自定义controller无法扫描到 SpringBoot 自定义controller路由找不到,原因是启动类和自定义的Controller包不在同一级目录

SpringBoot全局Controller返回值格式统一

目录 一.返回值格式统一 1.返回值介绍 2.基础类功能 3.基础实现 二.附录说明 一.返回值格式统一 1.返回值介绍 在使用controller对外提供服务的时候,很多时候都需要统一返回值格式,例如 { "status": true, "message": null, "code": "200", "data": { "name": "json", "d

如何实现springboot中controller之间的相互调用

springboot controller之间相互调用 SpringBoot之间内部调用 @Autowired private RestTemplate restTemplate ;//自动装配restTemplate -------------------返回json字符串类型---------------------------------- @RequestMapping("/selectHospatal") @ResponseBody public String selectH

详解SpringBoot中Controller接收对象列表实现

如果Spring Boot中对应的Controller要接收一个对象,该对象中又存放了一个List列表,那么页面该如何传递相关应的参数信息呢. 本篇文章给大家一个简单的示例,提供一种实现方式. 实体类 首先看实体类的结构(注意使用了Lombok): @Data public class Rules { private List<Rule> rules; } 对应Rule实体类代码如下: @Data public class Rule { /** * 类名 */ private String c

关于Iframe父页面与子页面之间的相互调用

iframe元素就是文档中的文档. window对象: 浏览器会在其打开一个HTML文档时创建一个对应的window对象.但是,如果一个文档定义了一个或者多个框架(即:包含一个或者多个frame或者iframe标签),浏览器就会为原始文档创建一个window对象,再为每个iframe创建额外的window对象,这些额外的window对象是原始窗口的子窗口. contentWindow: 是指指定的iframe或者iframe所在的window对象 Demo1 父页面fu.html: <!DOCT

pyqt 多窗口之间的相互调用方法

* 在编程开发中,一个程序不可避免的需要多窗口操作来实现具体的功能. 实现此功能的基本步骤(以三个窗口为例,使用主窗口调用其它两个窗口) # 主窗口 from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(800, 600)

详解SpringBoot中异步请求和异步调用(看完这一篇就够了)

一.SpringBoot中异步请求的使用 1.异步请求与同步请求 特点: 可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如长时间的运算)时再对客户端进行响应.一句话:增加了服务器对客户端请求的吞吐量(实际生产上我们用的比较少,如果并发请求量很大的情况下,我们会通过nginx把请求负载到集群服务的各个节点上来分摊请求压力,当然还可以通过消息队列来做请求的缓冲). 2.异步请求的实现 方式一:Servlet方式实现异步请求

子窗口、父窗口和Silverlight之间的相互调用

其实,他们之间的调用还是很简单的~ 基础篇 一.父页面调用子页面中的JS 我们先创建一个子窗体 复制代码 代码如下: var win $(function () { Root = $('#Root').val();//设置根目录 }); function OpenPlayer(id, type, add) { //这里是用来限制同一个窗口只能弹出一次的 //其实就算不做限制,只要window.open参数中的name相同,就不会重复打开 //window.open中的参数可以参考别的文章,有很多

C语言与Lua之间的相互调用详解

前言 第一次接触Lua是因为Unity游戏中需要热更,但是一直没搞懂Lua是怎么嵌入到别的语言中执行的,如何互相调用的. lua是扩展性非常良好的语言,虽然核心非常精简,但是用户可以依靠lua库来实现大部分工作.除此之外,lua还可以通过与C函数相互调用来扩展程序功能.在C中嵌入lua脚本既可以让用户在不重新编译代码的情况下修改lua代码更新程序,也可以给用户提供一个自由定制的接口,这种方法遵循了机制与策略分离的原则.在lua中调用C函数可以提高程序的运行效率.lua与C的相互调用在工程中相当实

浅析Activity之间的相互调用

Activity1 复制代码 代码如下: //在按键按下后,调用第二个实体,第二个实体处理完数据后再传给第一个实体      btn3.setOnClickListener(new Button.OnClickListener() {          public void onClick(View v) {              final int RG_REQUEST = 0;              Intent intent = new Intent();            

Android Activity之间相互调用与传递参数的原理与用法分析

本文实例讲述了Android Activity之间的相互调用与传递参数.分享给大家供大家参考,具体如下: Activity之间是如何调用的 在javaWeb程序中,jsp与jsp之间的调用是通过重定向完成的,而在Android中,Activity与Activity之间的切换是通过Intent来完成的. 所谓Intent,它是Android中非常重要的内置组件,他可以理解为"我要干一件什么事情".在Android中有3大组件:Activity,Service.Broadcast,他们之间

浅谈C++中对象的复制与对象之间的相互赋值

C++对象的复制 有时需要用到多个完全相同的对象,例如,同一型号的每一个产品从外表到内部属性都是一样的,如果要对每一个产品分别进行处理,就需要建立多个同样的对象,并要进行相同的初始化,用以前的办法定义对象(同时初始化)比较麻烦.此外,有时需要将对象在某一瞬时的状态保留下来. C++提供了克隆对象的方法,来实现上述功能.这就是对象的复制机制. 用一个已有的对象快速地复制出多个完全相同的对象.如 Box box2(box1); 其作用是用已有的对象box1去克隆出一个新对象box2. 其一般形式为:

SpringBoot中实现数据字典的示例代码

我们在日常的项目开发中,对于数据字典肯定不模糊,它帮助了我们更加方便快捷地进行开发,下面一起来看看在 SpringBoot 中如何实现数据字典功能的 一.简介 1.定义 数据字典是指对数据的数据项.数据结构.数据流.数据存储.处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目.简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合. 数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数