当前位置: 首页 > news >正文

公安门户网申请表怎么下载seo自媒体培训

公安门户网申请表怎么下载,seo自媒体培训,选择响应式网站,做水利网站需要多少钱文章目录 ComponentScanComponentScan ANNOTATION 和 REGEXComponentScan CUSTOMComponentScan ASSIGNABLE_TYPE ComponentScan ComponentScan 是 Spring 框架中的一个注解,用于自动扫描和注册容器中的组件。 使用 ComponentScan 注解可以告诉 Spring 在指定的包或…

文章目录

  • @ComponentScan
  • @ComponentScan ANNOTATION 和 REGEX
  • @ComponentScan CUSTOM
  • @ComponentScan ASSIGNABLE_TYPE

@ComponentScan

@ComponentScan 是 Spring 框架中的一个注解,用于自动扫描和注册容器中的组件。

使用 @ComponentScan 注解可以告诉 Spring 在指定的包或类路径下进行组件扫描,然后自动将被扫描到的组件注册到 Spring 容器中。以下是 @ComponentScan 注解的详细使用方法:

  1. 导入必需的依赖:确保你的项目中已经引入了 Spring 框架的相关依赖,以便使用 @ComponentScan 注解。

  2. 在配置类上添加注解:在 Spring 配置类上添加 @ComponentScan 注解,并指定要扫描的包或类路径。例如:

@Configuration
@ComponentScan("com.example.package")
public class AppConfig {// 其他配置
}

@ComponentScan ANNOTATION 和 REGEX

@ComponentScan 注解提供了 includeFiltersexcludeFilters 属性,你可以使用这些过滤器来精确控制哪些组件会被扫描和注册到 Spring 容器中。下面是一个示例,演示如何在 @ComponentScan 中使用过滤器:

@Configuration
@ComponentScan(basePackages = "com.example.package",includeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION, classes = MyAnnotation.class),@ComponentScan.Filter(type = FilterType.REGEX, pattern = ".*ServiceImpl")},excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = ExcludeComponent.class)
)
public class AppConfig {// 其他配置
}

在上述示例中,我们使用 @ComponentScan 注解的 includeFilters 属性添加了两个过滤器:

  • 第一个过滤器使用 FilterType.ANNOTATION 类型和 MyAnnotation.class 注解类,它将只包含带有 MyAnnotation 注解的组件。
  • 第二个过滤器使用 FilterType.REGEX 类型和正则表达式 ".*ServiceImpl",它将只包含名称以 “ServiceImpl” 结尾的组件。

同时,我们还使用 @ComponentScan 注解的 excludeFilters 属性添加了一个过滤器:

  • 这个过滤器使用 FilterType.ASSIGNABLE_TYPE 类型和 ExcludeComponent.class 类,它将排除继承或实现了 ExcludeComponent 类的组件。

根据你的需求,你可以使用不同的过滤器类型(FilterType.ANNOTATIONFilterType.REGEXFilterType.ASSIGNABLE_TYPE 等)来定义自己的过滤规则。这样你就可以控制哪些组件会被扫描和注册到 Spring 容器中。

@ComponentScan CUSTOM

使用 @ComponentScan 注解时,你可以自定义过滤器来进一步控制哪些组件会被扫描和注册到 Spring 容器中。下面是一个示例,演示如何创建自定义过滤器:

首先,创建一个自定义过滤器类,实现 TypeFilter 接口,并重写其中的 match() 方法:

import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
import org.springframework.core.type.filter.TypeFilter;public class CustomFilter implements TypeFilter {@Overridepublic boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) {// 在这里编写你的过滤逻辑,根据需要返回 true 或 false// metadataReader 可以获取到正在扫描的组件的元数据信息,例如类名、注解等// metadataReaderFactory 可以获取到其他类的元数据信息// 示例:只匹配类名以 "Service" 结尾的组件String className = metadataReader.getClassMetadata().getClassName();return className.endsWith("Service");}
}

然后,在 @ComponentScan 注解中使用自定义过滤器:

@Configuration
@ComponentScan(basePackages = "com.example.package",includeFilters = @ComponentScan.Filter(type = FilterType.CUSTOM, classes = CustomFilter.class)
)
public class AppConfig {// 其他配置
}

在上述示例中,我们将 CustomFilter.class 作为过滤器传递给 @ComponentScan 注解的 includeFilters 属性。

自定义过滤器类实现了 TypeFilter 接口,并重写了 match() 方法。在 match() 方法中,你可以编写自己的过滤逻辑,根据需要返回 true 或 false 来确定是否匹配当前扫描到的组件。上述示例中的过滤逻辑只匹配类名以 “Service” 结尾的组件。

通过使用自定义过滤器,你可以根据更复杂的条件和逻辑来决定哪些组件会被扫描和注册到 Spring 容器中。这样可以实现更精确的组件管理和配置。

@ComponentScan 注解中,可以使用 FilterType.ASSIGNABLE_TYPE 类型的过滤器来扫描和注册与指定类型相匹配的组件。这个过滤器会将与指定类型相同或者是其子类或实现类的组件注册到 Spring 容器中。

@ComponentScan ASSIGNABLE_TYPE

下面是一个示例,演示如何在 @ComponentScan 中使用 FilterType.ASSIGNABLE_TYPE 过滤器:

  1. 创建一个需要被扫描和注册的基类或接口:
public interface MyInterface {// 接口方法
}
  1. 创建需要被扫描和注册的具体实现类:
@Component
public class MyImplementation implements MyInterface {// 实现类逻辑
}
  1. 在配置类中使用 @ComponentScan 注解,并设置 includeFilters 属性来包含 FilterType.ASSIGNABLE_TYPE 类型的过滤器:
@Configuration
@ComponentScan(basePackages = "com.example.package",includeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = MyInterface.class)
)
public class AppConfig {// 其他配置
}

在上述示例中,我们将 MyInterface.class 作为过滤器传递给 @ComponentScan 注解的 includeFilters 属性,表示只有实现了 MyInterface 接口的组件才会被扫描和注册到 Spring 容器中。这样,MyImplementation 类就会被自动注册到容器中。

通过使用 FilterType.ASSIGNABLE_TYPE 过滤器,你可以方便地根据类的层次结构来选择性地扫描和注册组件。这使得你可以将特定类型或其子类或实现类的组件自动注册到 Spring 容器中,从而实现更灵活的组件管理和配置。

http://www.wooajung.com/news/22935.html

相关文章:

  • 无备案网站微信教程推广优化网站排名
  • 明星粉丝网站怎么做太原网站建设方案咨询
  • 网站广告图怎么做衡水seo培训
  • https网站制作网络营销模式下品牌推广途径
  • 网站托管工作室营销网站的建造步骤
  • 长沙flash网站制作房产网站建设
  • 上海公安网站备案网站怎样关键词排名优化
  • 忻州网站建设企业营销型网站
  • 长沙做手机网站建设快手seo软件下载
  • 海洋cms做电影网站好做吗seo01网站
  • 上海网站开发哪里好薇什么叫外链
  • tk域名免费注册网站四川二级站seo整站优化排名
  • wordpress 个人简介 换行seo基础教程
  • 随州程力网站建设重庆seo网站排名
  • 提文成震网站狠建设g2b4b今日热点头条新闻
  • 不用代码做网站 知乎东莞网站建设
  • 接私活做网站要不要签合同html做一个简单的网页
  • 精简网站模板网页设计需要学什么软件
  • 品牌网站建设解决网站运营推广
  • 乡镇政府可以做网站认搜索引擎怎么做
  • 阳江招聘网站哪个靠谱梅州seo
  • 爱狼戈网站建设网络网站推广优化
  • 专门做学校政府的网站时事新闻最新
  • 怎么在外管局的网站做延期手机app软件开发
  • 做h5的网站有哪些网站服务器是什么意思
  • 网站设计用处谷歌推广怎么开户
  • pop布局的网站seo的方式包括
  • 有经验的南昌网站制作百度热搜榜历史
  • 手机建站最好的网站武汉seo网站排名优化公司
  • 学习网站建设总结游戏代理推广渠道