SpringBoot扫描不到Controller的解决方案
SpringBoot小白创建项目,扫描不到Controller一系列问题
1.
2.
3.
4.
5.
6.还有一种办法是在启动服务类的入门,添加@ComponentScan(basePackages={“xxx.xxx.xx”,“xxx.xxx.xx”})里面的是包的全限定名,可以为多个
SpringBoot 自定义controller无法扫描到
SpringBoot 自定义controller路由找不到,原因是启动类和自定义的Controller包不在同一级目录下。
官方建议application.java放的位置: 其余Bean与application.java放在同一个包路径下,但是不建议这么做。
解决的办法:
1、把自建的controller类放到启动类同一级目录下(不建议这样做)。
2、把启动类@RestController @EnableAutoConfiguration注解改成@SpringBootApplication。
3、启动类@RestController @EnableAutoConfiguration注解再加上@ComponentScan注解。
使用springboot扫描的两种注解配置方式:
1、第一种
@Controller @EnableAutoConfiguration @ComponentScan
2、第二种
@SpringBootApplication @ComponentScan
总结:
@SpringBootApplication注解等价于以默认属性使用@Configuration,@EnableAutoConfiguration和@ComponentScan,但是在实际运用时好像其他包中的Bean没有扫描发现,再次使用@ComponentScan指定包名称后发现了其他Bean,后续若有其他方法,会再次修改声明。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
SpringBoot http请求注解@RestController原理解析
这篇文章主要介绍了SpringBoot http请求注解@RestController原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 @RestController @RestController = @Controller + @ResponseBody组成,等号右边两位同志简单介绍两句,就明白我们@RestController的意义了: @Controller 将当前修饰的类注入SpringBoot IOC容器,使得从该类所在的项目
-
详解SpringBoot中Controller接收对象列表实现
如果Spring Boot中对应的Controller要接收一个对象,该对象中又存放了一个List列表,那么页面该如何传递相关应的参数信息呢. 本篇文章给大家一个简单的示例,提供一种实现方式. 实体类 首先看实体类的结构(注意使用了Lombok): @Data public class Rules { private List<Rule> rules; } 对应Rule实体类代码如下: @Data public class Rule { /** * 类名 */ private String c
-
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之间相互调用 SpringBoot之间内部调用 @Autowired private RestTemplate restTemplate ;//自动装配restTemplate -------------------返回json字符串类型---------------------------------- @RequestMapping("/selectHospatal") @ResponseBody public String selectH
-
SpringBoot扫描不到Controller的解决方案
SpringBoot小白创建项目,扫描不到Controller一系列问题 1. 2. 3. 4. 5. 6.还有一种办法是在启动服务类的入门,添加@ComponentScan(basePackages={"xxx.xxx.xx","xxx.xxx.xx"})里面的是包的全限定名,可以为多个 SpringBoot 自定义controller无法扫描到 SpringBoot 自定义controller路由找不到,原因是启动类和自定义的Controller包不在同一级目录
-
springboot扫描自定义的servlet和filter代码详解
这几天使用spring boot编写公司一个应用,在编写了一个filter,用于指定编码的filter,如下: /** * Created by xiaxuan on 16/11/1. */ @WebFilter(urlPatterns = "/*",filterName="CharacterEncodeFilter", initParams={ @WebInitParam(name="encoding",value="UTF-8&qu
-
SpringBoot集成MybatisPlus报错的解决方案
这篇文章主要介绍了SpringBoot集成MybatisPlus报错的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 问题 启动的时候总是报如下错误: java.lang.annotation.AnnotationFormatError: Invalid default: public abstract java.lang.Class 解决方案 需要一个mybatis-spring-boot-starter的包,在pom文件加上之后,完
-
Springboot mybatis plus druid多数据源解决方案 dynamic-datasource的使用详解
依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>2.5.0</version> </dependency> <dependency> <groupId>p6spy</groupId>
-
springboot参数传中文乱码的解决方案
前言 本文案例来自业务部门的一个业务场景.他们的业务场景是他们部门研发了一个微服务上下文透传组件,其透传原理也挺简单的,就是通过springboot拦截器把请求参数塞进threadlocal,然后下游通过threadlocal取到值,服务之间进行feign调用时,再把threadlocal的参数塞到header头里面.这个组件一直用得好好的,突然有一天因为传的参数值是中文,导致乱码.他们通过尝试下面的各种方案,都无法解决.最后就让我们部门排查处理. 业务部门的实现思路 他们一开始的思路方向是参数
-
springboot扫描引入jar包的service等组件方式
在pom中引入对应的依赖,如果引入的三方jar包跟该项目Application所在包目录包含被依赖jar包目录, 即下面的情况: 像上面这种包组织的话,是不需要额外加入任何配置的(前提是依赖jar包相应组件一定要有@Component等注解修饰),因为springboot项目默认扫描目录就是Application所在目录及子目录,但是这种情况仅限于单个项目安排,项目大了就不一定满足了, 这时可以通过下面的方式引入扫描路径: 或者通过@ComponentScan注解也可以,需要注意的是不要忘了扫描
-
解决SpringBoot扫描不到公共类的实体问题
SpringBoot扫描不到公共类的实体 我的项目结构是 parent ademo bdemo parent是一个大项目,项目里面有web.service和entity三个子项目 ademo 依赖于bdemo里面的实体. aProject项目的包结构是com.test.ademo bProject项目的包结构是com.test.bdemo 以下的问题是我没有忘记标注@Component.@Service等容器注解 在ademo项目里面使用@Autowired的时候有异常说是可能会Autowire
-
SpringBoot事务不回滚的解决方案
目录 1.非 public 方法解决方案 2.try/catch 解决方案 解决方案1:将异常重新抛出 解决方案2:使用代码手动回滚事务 3.调用内部 @Transactional 方法解决方案 4.检查异常的事务解决方案 5.数据库不支持事务的解决方案 总结 在 Spring Boot 中,造成事务不自动回滚的场景有很多,比如以下这些: 非 public 修饰的方法中的事务不自动回滚: 当 @Transactional 遇上 try/catch 事务不自动回滚: 调用类内部的 @Transac
-
详解springboot+mybatis多数据源最简解决方案
说起多数据源,一般都来解决那些问题呢,主从模式或者业务比较复杂需要连接不同的分库来支持业务.我们项目是后者的模式,网上找了很多,大都是根据jpa来做多数据源解决方案,要不就是老的spring多数据源解决方案,还有的是利用aop动态切换,感觉有点小复杂,其实我只是想找一个简单的多数据支持而已,折腾了两个小时整理出来,供大家参考. 废话不多说直接上代码吧 配置文件 pom包就不贴了比较简单该依赖的就依赖,主要是数据库这边的配置: mybatis.config-locations=classpath:
-
spring-mvc/springboot使用MockMvc对controller进行测试
网上基本都是参考官方的使用方式,使用了import static,个人感觉这种方式特别不好,代码提示性不友好.所以在此进行说明,也方便自己以后使用. 1. 引入spring-test相关jar包,springboot只需引入spring-boot-starter-test即可 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tes
随机推荐
- php 网上商城促销设计实例代码
- PHP正则验证Email的方法
- C#读取QQ纯真IP数据库QQWry.Dat的代码
- Go实现比较时间大小
- Ajax实现城市二级联动(二)
- javascript中数组array及string的方法总结
- System 类 和 Runtime 类的常用用法介绍
- Android 使用ViewPager实现图片左右循环滑动自动播放
- 需要看的最新骗局,请告诉周围的人
- javascript对象的相关操作小结
- 本窗口将在秒后自动关闭
- Linux下find和grep常用命令及区别介绍
- VC下通过系统快照实现进程管理的方法
- nginx status状态页配置方法和中文说明
- Android Selector和Shape的使用方法
- C#获取进程和对进程的操作
- Z-Blog常用标签大全(官方版)
- 详解VUE2.X过滤器的使用方法
- SpringCloud与Consul集成实现负载均衡功能
- Android Studio下无线调试的方法