javaConfig类的关键是为其添加@Configuration注解。
@Configuration注解表明这个类是一个配置类。可以启动组件扫描,用来将带有@Bean的实体进行实例化bean等
@Configuration可理解为用spring的时候xml里面的<beans>标签,作用为:配置spring容器(应用上下文)
@Bean可理解为用spring的时候xml里面的<bean>标签
@ComponentScan(value="com.xxx",excluddFilters={@Filter(type=FilterType.ANNOTATION,classes={Controller.class,Service.class})})
@ComponentScan(value="com.xxx",includeFilters={@Filter(type=FilterType.ANNOTATION,classes={Controller.class},userDefaultFilters=false)})
//value:扫描指定的包
//excluddFilters = Filter[] 指定排除那些组件
// includeFilters = Filter[] //指定包含那些组件进行扫描 ,如果配置只包含扫描规则,则同时要配置userDefault-filters=false;禁用默认过滤规则;
过滤的类型:
@Configuration //配置类== 配置文件,该注解是重复注解,可以过个注解
@ComponentScan //启用组件扫描
public class CDPlayerConfig{
@Bean //实例化cdPlayer对象放在容器中。注册一个bean,id默认为方法名
public CDPlayer cdPlayer(){
return new CDPlayer();
}
}
注意:@Configuration注解的配置类有如下要求:
- @Configuration不可以是final类型;
- @Configuration不可以是匿名类;
- 嵌套的configuration必须是静态类。