一.配置文件相关
1.@Configuration 作用于类上,告诉Spring,该类是一个配置类,相当于以前的xml配置文件
2.@ComponentScans 作用于配置类上,告诉Spring需要扫描哪些类,该注解相当于配置文件中
<context:component-scan base-package="com" use-default-filters="false"></context:component-scan>
use-default-filters="false",Spring扫描用的是默认的过滤器,此处值为false,代表不用默认过滤器。
@ComponentScans注解中可以使用过滤规则,如下图
3.@Filter注解,指定按照什么样的方式过滤,支持以下方式:
FilterType.CUSTOM:自定义过滤类型,该方式很NB,需要实现TypeFilter接口,可以按照自己定义的匹配规则进行bean扫描
metadataReader:读取到的当前正在扫描的类的信息
metadataReaderFactory:可以获取到其他任何类信息的
在配置文件类中可以定义方法,在方法上加@Bean注解,给容器中注册一个Bean;类型为返回值的类型,id默认是用方法名作为id,默认为单例,此种方式主要在引入三方JAR时,进行Bean注册。
4.@Scope注解是作用域,有四种方式
1)prototype原型
2)singleton单例
3)request同一次请求创建一个实例
4)session同一个session创建一个实例
懒加载:只对单例有效
单实例bean:默认在容器启动的时候创建对象;
容器启动不创建对象。第一次使用(获取)Bean创建对象,并初始化;
5.@Conditional按条件注册Bean,可以作用于方法和类上(类表示配置类)
比如@Conditional({WindowsCondition.class}),注解中的值表示“需要满足的条件”,该类需要实现Condition接口,满足条件的bean才能在容器中注册