spring注解:
- @Configuration:等同于之前的配置文件。
属性 | 说明 | 默认 |
---|
value | 配置当前类的关联的Spring bean的名称 | 类名的首字母小写 |
属性 | 说明 | 默认 |
---|
name 和 value | 为 bean 起一个名字 | 使用该方法的名称作为类名 |
autowire | 采用的装备方式又三种BY_NAME,NO,BY_TYPE | Autowire.NO |
initMethod | bean的初始化方法,指定方法名称就行不用带括号 | |
destroyMethod | bean 的销毁方法, 在调用 IoC 容器的 close() 方法时,会执行到该属性指定的方法 | |
属性 | 说明 | 默认 |
---|
basePackages和value | basePackages和value | 当前类所在的路径· |
basePackageClasses | 指定具体的扫描的类。 | |
nameGenerator | 对应的bean名称的生成器 | BeanNameGenerator.class |
scopeResolver | 处理检测到的bean的scope范围 | AnnotationScopeMetadataResolver.class |
useDefaultFilters | 是否对带有@Component @Repository @Service @Controller注解的类开启检测 | true |
lazyInit | 扫描到的类是否开启懒加载 | false |
includeFilters | 指定某些定义Filter满足条件的组件 FilterType | |
excludeFilters | 排除某些扫描到的类 | |
includeFilters和excludeFilters是按照@Filter注解进行过滤的,五种过滤方式:
FilterType.ANNOTATION:按照注解
FilterType.ASSIGNABLE_TYPE:按照给定的类型;
FilterType.ASPECTJ:使用ASPECTJ表达式
FilterType.REGEX:使用正则指定
FilterType.CUSTOM:使用自定义规则,实现TypeFilter接口的类
属性 | 说明 | 默认 |
---|
value和scopeName | 调整bean作用域 | singleton |
prototype:多实例的:ioc容器启动并不会去调用方法创建对象放在容器中。每次获取的时候才会调用方法创建对象;
singleton:单实例的(默认值):ioc容器启动会调用方法创建对象放到ioc容器中。以后每次获取就是直接从容器中拿。
request:同一次请求创建一个实例
session:同一个session创建一个实例
- @Lazy(可以让单实例的bean进行懒加载,ioc容器创建的时候不会加载,第一调用的时候才回加载)
- @Conditional(按照一定的条件进行判断,满足条件给容器中注册bean)
属性 | 说明 | 默认 |
---|
value | 根据判断条件(实现了Condition接口的类) | |
value中可以导入ImportSelector进行批量倒入(添加全类名,这样导入的bean的name是全类名)。也可以添加一个实现了ImportBeanDefinitionRegistrar接口的类进行bean定义信息的注入。