IoC底层核心原理
作者:互联网
用alt+7可以查看各个接口的底层方法名
组件扫描器
- 开发过程中,需要根据需求加载必要的bean,删除指定的bean
表现层→日志层
↓
业务层 (ApplicationContext)
↓
数据层
IoC容器
表现层bean
业务层bean
数据层bean
远程服务bean
...
设定组件扫描加载过滤器
- 名称:@ComponentScan
- 类型:类注解
- 位置:类定义上方
- 作用:设置spring配置加载类扫描规则
- 范例:
@ComponentScan(
value="com.thenema",
excludeFilters =
@ComponentScan.Filter(
type = FilterType.ANNOTATION,
classes = Repository.class)
}
includeFilters:设置包含性过滤器
excludeFilters:设置排除性过滤器
type:设置过滤器类型
自定义组件过滤器
- 名称:TypeFilter
- 类型:接口
- 作用:自定义类型过滤器
- 范例
public class MyTypeFilter implements TypeFilter{
public boolean match(MetadataReader mr,MetadataReaderFactory mrf) throws IOException{
ClassMetadata cm = metadataReader.getClassMetadata();
String className =cm.getClassName();
if(className.equals("com.thenema.dao.impl.BookDaoImpl")){
return true;
}
return false;
}
}
- 组件扫描加载过滤器
- 过滤规则
- ANNOTATION
- ASSIGNABLE_TYPE
- ASPECTJ
- REGEX
- CUSTOM
- 应用场景
- 数据层接口测试环境
- 业务层接口测试环境
- 各种运行环境设置
- 过滤规则
标签:接口,ComponentScan,组件,bean,过滤器,原理,底层,IoC,加载 来源: https://blog.csdn.net/weixin_51343683/article/details/120298537