脚本之家

电脑版
提示:原网页已由神马搜索转码, 内容由www.jb51.net提供.
您的位置:首页软件编程java→ SpringBoot测试指定包扫描范围

SpringBoot 在测试时如何指定包的扫描范围

  更新时间:2021年11月08日 10:31:54  作者:囧囧 O_o 
这篇文章主要介绍了SpringBoot 在测试时如何指定包的扫描范围,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

在测试时如何指定包的扫描范围

@SpringBootTest注解,在SpringBoot在启动会根据主启动类上的@SpringBootApplication去扫描当前类及其子包下的类.当出现子包中相同类名时,容器失败.

可以通过为相同的类指定不同的ID解决,也可以通过在SpringBoot测试时指容器的包扫描范围解决。

具体如下:

以往…这么写

@RunWith(SpringRunner.class)
@SpringBootTest
public class IocTest {
/** 测试方法等... */
}

通过@SpringBootApplication注解配置容器的包扫描范围

@RunWith(SpringRunner.class)
@SpringBootApplication(scanBasePackages = "com.example.xxx")
public class IocTest {
/** 测试方法等... */
}

配置扫描包范围

近期在学习java的spring框架,得知使用注解需要配置包扫描的范围,然而在SpringBoot项目中的配置文件里找不到如spring类似的配置

<context:component-scan base-package=”XX.XX”/> 

经查阅资料SpringBoot其实有默认的包扫描机制,启动类所在的当前包以及包的子类都会默认被扫描,所以新手在学习这个框架的时候,有时候可能因为bean和启动类不在一个文件夹下导致扫描不到引起的注解失败问题。

启动类:项目的入口函数,一般命名规范是xxxApplication.java,并且带有@SpringBootApplication的注解,也有我们常见的java中的main函数。

如何修改包扫描的位置?

方法一

在启动类的SpringBootApplication注解中配置scanBasePackages即可,如下

@SpringBootApplication(scanBasePackages = "org.sang.service")

也可以配置多个包路径

@SpringBootApplication(scanBasePackages = {"org.sang.bean","org.sang.service"})

方法二

在启动类里添加@ComponentScan注解配置basePackages

@ComponentScan(basePackages = {"org.sang.bean","org.sang.service"})

两个配置方法选择其一即可。

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

相关文章

    • 这篇文章主要介绍了Java redisson实现分布式锁原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
      2020-02-02
    • 这篇文章主要介绍了浅谈SpringMVC请求映射handler源码解读,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
      2021-03-03
    • 这篇文章主要介绍了如何利用反射生成 MyBatisPlus中QueryWrapper动态条件,分享在MyBatisPlus中经常会用到代码来构造查询条件等内容,需要的小伙伴可以参考一下
      2022-02-02
    • 这篇文章主要介绍了Java语言的Comparable和Comparator区别,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
      2023-06-06
    • 这篇文章主要介绍了关于SpringCloud分布式系统中实现幂等性的几种方式,幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数,这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变,需要的朋友可以参考下
      2023-10-10
    • 这篇文章主要为大家详细介绍了Java实现多个文档合并输出到一个文档的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
      2017-10-10
    • 在Spring Boot中,可以使用Validation和国际化来实现对入参的校验,本文就来介绍一下SpringBoot Validation入参校验国际化,具有一定的参考价值,感兴趣的可以了解一下
      2023-10-10
    • java必学必会之方法的重载,介绍了方法的重载、构造方法的重载,想要学好java方法的重载的朋友一定要好好阅读这篇文章
      2015-12-12
    • 这篇文章主要介绍了Apache POI将PPT转换成图片实例代码,具有一定借鉴价值,需要的朋友可以参考下
      2018-01-01
    • 这篇文章主要介绍了Java调用linux shell脚本的方法,需要的朋友可以参考下
      2015-02-02

    最新评论