Spring详解(二)------注解配置IOC

@Configuration:告诉Spring这是一个配置类

 @Bean("person")-->作用于方法:给容器中注册一个Bean;类型为返回值的类型

@ComponentScans:配置要一组扫描的包的包扫描器

@ComponentScan:配置要扫描的包的包扫描器

//excludeFilters = Filter[] :指定扫描的时候按照什么规则排除那些组件

//includeFilters = Filter[] :指定扫描的时候只需要包含哪些组件

//FilterType.ANNOTATION:按照注解

//FilterType.ASSIGNABLE_TYPE:按照给定的类型;

//FilterType.ASPECTJ:使用ASPECTJ表达式

//FilterType.REGEX:使用正则指定

//FilterType.CUSTOM:使用自定义规则

 @Scope:配置bean的作用域

//prototype:多实例的:获取的时候才会调用方法创建对象,IOC容器启动时不会调用

//singleton:单实例的(默认值):ioc容器启动会调用方法创建对象放到ioc容器中。

//request:同一次请求创建一个实例

//session:同一个session创建一个实例

 @Lazy:作用于单例bean,容器启动不创建对象。第一次使用Bean初始化;

 @Conditional({Condition}) : 按照一定的条件进行判断,满足则在容器中注册

//spring框架还提供了很多@Condition给我们用,当然总结用语哪种好理解,看给位读者喽
@ConditionalOnBean(仅仅在当前上下文中存在某个对象时,才会实例化一Bean)
@ConditionalOnClass(某个class位于类路径上,才会实例化一个Bean)
@ConditionalOnExpression(当表达式为true的时候,才会实例化一个Bean)
@ConditionalOnMissingBean(仅仅在当前上下文中不存在某个对象时,才会实例化一个Bean)
@ConditionalOnMissingClass(某个class类路径上不存在的时候,才会实例化一个Bean)
@ConditionalOnNotWebApplication(不是web应用)

 条件必须继承Condition接口,实现过滤的的方法

 @Import(要导入到容器中的组件);容器中就会自动注册这个组件,id默认是全类名

 ImportSelector:返回需要导入的组件的全类名数组;

 ImportBeanDefinitionRegistrar:手动注册bean到容器中

猜你喜欢

转载自www.cnblogs.com/deityjian/p/11481976.html
今日推荐