@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被
AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。
注意:@Configuration注解的配置类有如下要求:
- @Configuration不可以是final类型;
- @Configuration不可以是匿名类;
- 嵌套的configuration必须是静态类。
常用:
-
用@Configuration加载spring
- @Configuration配置spring并启动spring容器
- @Configuration启动容器+@Bean注册Bean
- @Configuration启动容器+@Component注册Bean
- 使用 AnnotationConfigApplicationContext 注册 AppContext 类的两种方法
- 配置Web应用程序(web.xml中配置AnnotationConfigApplicationContext)
-
组合多个配置类
- 在@configuration中引入spring的xml配置文件
- 在@configuration中引入其它注解配置
- @configuration嵌套(嵌套的Configuration必须是静态类)
- @EnableXXX注解
- @Profile逻辑组配置
- 使用外部变量
简单举例:
@Configuration
public class MQConfig {
public static final String MIAOSHA_QUEUE = "miaosha.queue";
public static final String QUEUE = "queue";
@Bean
public Queue queue(){
return new Queue(QUEUE,true);
}