首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

spring boot中的ComponentScan.Filter未过滤@Configuration类

在Spring Boot中,@ComponentScan是一个用于扫描和注册Bean的注解,它会自动扫描指定包及其子包中的类,并将符合条件的类注册为Spring的Bean。@ComponentScan.Filter是@ComponentScan注解的一个属性,用于过滤掉不符合条件的类。

@ComponentScan.Filter可以接受多个过滤条件,其中包括按照注解类型、按照类类型、按照正则表达式等方式进行过滤。在这里提到的@Configuration类,它是一个用于定义配置信息的注解,标注在类上表示该类是一个配置类,Spring会根据配置类中的@Bean注解等来生成Bean对象。

而@ComponentScan.Filter未过滤@Configuration类,意味着@Configuration类不会被过滤掉,会被扫描并注册为Spring的Bean。这样可以保证@Configuration类中的配置信息能够被正确加载并生效。

Spring Boot中的@ComponentScan.Filter可以通过以下方式进行配置:

  1. 按照注解类型进行过滤: @ComponentScan(basePackages = "com.example", includeFilters = @ComponentScan.Filter(type = AnnotationTypeFilter.class, value = MyAnnotation.class), useDefaultFilters = false) 在这个例子中,只有被@MyAnnotation注解标记的类会被扫描并注册为Spring的Bean。
  2. 按照类类型进行过滤: @ComponentScan(basePackages = "com.example", includeFilters = @ComponentScan.Filter(type = AssignableTypeFilter.class, value = MyInterface.class), useDefaultFilters = false) 在这个例子中,只有实现了MyInterface接口的类会被扫描并注册为Spring的Bean。
  3. 按照正则表达式进行过滤: @ComponentScan(basePackages = "com.example", includeFilters = @ComponentScan.Filter(type = RegexPatternTypeFilter.class, pattern = ".*Controller"), useDefaultFilters = false) 在这个例子中,只有类名以"Controller"结尾的类会被扫描并注册为Spring的Bean。

需要注意的是,上述示例中的useDefaultFilters = false表示禁用默认过滤器,只使用我们自定义的过滤器。

推荐的腾讯云相关产品:由于题目要求不能提及具体的云计算品牌商,这里无法给出腾讯云相关产品的介绍链接地址。您可以通过搜索引擎查找腾讯云的相关产品,以获取更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring中眼见为虚的 @Configuration 配置类

比如现在的SpringBoot、SpringCloud,他们是什么?是Spring生态中的一个组成部分!...作为Spring的使用者,我们理应了解Spring的实现和各种扩展点,从而能够真正的深入Spring生态!深入了,再去研究生态中的组成部分如:SpringBoot之流的框架,也就水到渠成了!...被代理的Spring配置类 果然,他不是他了,他被(玷污)代理了,而且使用的代理是cglib,那么这里就可以猜测一个问题,在Bean方法中调用另外一个Bean方法,他一定是通过代理来做的,从而完成了多次调用只实例化一次的功能...} } } 这个类至关重要,总共做了这样几件事: 筛选配置类,只有加了 @Configuration的配置类才会被增强!...整个过程分为两大部分: 1.增强配置类 检测加了@Configuration注解的配置类!

1.2K20
  • Spring中Configuration的理解

    从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext...注意:@Configuration注解的配置类有如下要求: @Configuration不可以是final类型; @Configuration不可以是匿名类; 嵌套的configuration必须是静态类...一、@Configuation加载Spring方法 1.1、@Configuration配置spring并启动spring容器 @Configuration标注在类上,相当于把该类作为spring的xml...(返回某个实例的方法),等价于spring的xml配置文件中的,作用为:注册bean对象 bean类: package com.dxz.demo.configuration; public...嵌套(嵌套的Configuration必须是静态类) 通过配置类嵌套的配置类,达到组合多个配置类的目的。

    55620

    Spring Boot的过滤器

    在之前的 Web 开发中,我们习惯把过滤器配置到 web.xml 中,但是在 SpringBoot 中,兵没有这个配置文件,该如何操作呢?其实在 Spingboot 中存在3种形式进行过滤操作。...image 其中1代表是微服务启动类,2代表在启动类下面构建一个包,再在堡垒新建一个过滤器类,并且实现 Filter 接口 ?...image 第三方过滤器的使用 有时候,我们使用的是第三方的过滤器,并不是在我们项目启动类注解可扫描的部分,也没法配置到 web.xml 里面,这个时候该怎么办?...我们可以使用 SpringBoot 的配置类进行配置。 首先构建一个包,再新建一个配置类,然后添加注解为@Configuration ?...2、使用Interceptor 由于上面的过滤器的过来方法里面是使用的ServletRequest request, ServletResponse response,所以和 Spring 相关的上下文就很难获得

    2.2K10

    利用Mockito模拟DB

    我们需要创建一个Spring Boot配置类,在该类中定义用于测试的Spring Bean;我们通过注解指示Spring Boot何时加载测试配置类以及何时执行该类中的代码。...在改配置类中,我们将使用Mockito框架创建一些带预定义方法的mock对象,Spring Boot在执行测试用例之前会将这些对象织入。...注解增加excludeFilters属性,通过这个属性,我们提示Spring Boot在正式运行时忽略被@UsedForTesting修饰的类。...接下来看看在TestMockBeansConfig中的操作, @Configuration注解说明这是一个配置类,该类含有应用程序上下文,如果被其他配置文件引入,则该类中定义的Spring Bean应该加入到已经创建的应用上下文...Boot优先使用该方法返回的Spring Bean。

    2.1K20

    这一次,我连 web.xml 都不要了,纯 Java 搭建 SSM 环境

    在 Spring Boot 项目中,正常来说是不存在 XML 配置,这是因为 Spring Boot 不推荐使用 XML ,注意,并非不支持,Spring Boot 推荐开发者使用 Java 配置来搭建框架...,Spring Boot 中,大量的自动化配置都是通过 Java 配置来实现的,这一套实现方案,我们也可以自己做,即自己也可以使用纯 Java 来搭建一个 SSM 环境,即在项目中,不存在任何 XML...如果一定要加载 Spring 容器,需要我们修改 SpringMVC 的配置。 在 SpringMVC 配置的包扫描中也去扫描 @Configuration 注解,进而加载 Spring 容器。...6 其他配置 6.1 静态资源过滤 静态资源过滤在 SpringMVC 的 XML 中的配置如下: 在 Java...具体的配置是在 AllEncompassingFormHttpMessageConverter 类中完成的。

    1.2K20

    spring中的Bean (@Bean、@Configuration和@TestConfiguration)

    bean在spring中可以理解为一个对象。理解这个对象需要换一种角度,即可将spring看做一门编程语言,@Bean是spring语言声明对象的标识。...spring启动过程中会自动扫描注解,当遇到能产生Bean的注解(见下方列表)后,会将注解的类自动实例化(自动扫描及实例化只进行一次),之后将这个类的实例放到spring框架的容器中,当需要使用时(自动装配...在A类中声明属性B时加上注解@Autowired,A实例化时spring会自动从容器中调动B的实例。为了让spring能从容器中调用B的实例,需在B的类声明上有能产生Bean的注解。 5....; } 这样,当在某处实例化A时,spring会自动从容器中为A装配对象b,但是b.testValue未初始化。...@Configuration和@TestConfiguration @Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。

    2K20

    Spring Boot已成为面试必备技能,学 Spring Boot,事不宜迟!

    现在各大技术社区 Spring Boot 的文章越来越多,Spring Boot 相关的图文、视频教程越来越多,使用 Spring Boot 的互联网公司也越来越多; Java 程序员现在出去面试, Spring...@ComponentScan 注解表示配置包扫描,里边的属性和 xml 配置中的属性都是一一对应的,useDefaultFilters 表示使用默认的过滤器,然后又除去 Controller 注解,即在...SpringMVC 的配置,在SpringMVC 配置的包扫描中也去扫描 @Configuration 注解,进而加载 Spring 容器,还有一种方案可以解决这个问题,就是直接在项目中舍弃 Spring...配置,直接将所有配置放到 SpringMVC 的配置中来完成,这个在 SSM 整合时是没有问题的,在实际开发中,较多采用第二种方案,第二种方案,SpringMVC 的配置如下: @Configuration...Spring Boot 中,对异常的处理有一些默认的策略,我们分别来看。 默认情况下,Spring Boot 中的异常页面 是这样的: ?

    37430

    为什么阿里、头条、美团这些互联网大厂都在用Spring Boot?

    前言 现在各大技术社区 Spring Boot 的文章越来越多,Spring Boot 相关的图文、视频教程越来越多,使用 Spring Boot 的互联网公司也越来越多; Java 程序员现在出去面试...@ComponentScan 注解表示配置包扫描,里边的属性和 xml 配置中的属性都是一一对应的,useDefaultFilters 表示使用默认的过滤器,然后又除去 Controller 注解,即在...SpringMVC 的配置,在SpringMVC 配置的包扫描中也去扫描 @Configuration 注解,进而加载 Spring 容器,还有一种方案可以解决这个问题,就是直接在项目中舍弃 Spring...配置,直接将所有配置放到 SpringMVC 的配置中来完成,这个在 SSM 整合时是没有问题的,在实际开发中,较多采用第二种方案,第二种方案,SpringMVC 的配置如下: @Configuration...Spring Boot 中,对异常的处理有一些默认的策略,我们分别来看。

    69420
    领券