通过注解注入bean:
实体类:
运行结果
@ComponentScans 使用:
value:配置扫描的包路径,spring会扫描这个包及其子包,也是默认情况
@Filter:配置过滤器,
设置过滤器类型,默认注解类型
类的类型,数组类型
可以配置包含或排除的过滤器
排除@Controller标注的类,注意一定要加上 useDefaultFilters = false
使用 includeFilters
FilterType 有很多类型,上面用的是注解类型
还可以指定类的类型
FilterType还有其他的类型
//FilterType.ASPECTJ:使用ASPECTJ表达式
//FilterType.REGEX:使用正则指定
//FilterType.CUSTOM:使用自定义规则
可以通过实现TypeFilter来自定义规则
bean的作用域:
bean的懒加载
@Conditional注解根据条件判断类是否加载
自定义condition 实现 Condition 接口 matches 方法,如果方法返回true,则条件成立。spring容器就加载bean,否则不加载
ConditionContext能获取到很多属性
@Conditional不仅可以用在方法上,也可以用在类上,是否加载整个类
@Import快速导入组件,组件名是类的全路径类名,可以导入多个
使用ImportSelector 来导入组件
使用 ImportBeanDefinitionRegistrar 注册组件 bean
使用工厂bean注册组件
在配置类中