Spring中常用的@Configuration和其他配置类注解

Spring.jpg

前言

从Spring3.0开始,@Configuration用于定义配置类,可以替换Spring的xml配置文件,常常配合@Bean使用,一个@Configuration注解的类中可以有一个或多个@Bean注解的方法


详细使用方法

  1. 单独使用@Configuration注解在类上
@Configuration
public class TestConfiguration {
    public TestConfiguration() {
        System.out.println("TestConfiguration容器启动初始化。。。");
    }
}

这种相当于加载了一个spring配置文件,标签你没有配置任何一个相当于下面这样的Spring的xml配置文件






  1. @Configuration注解类+@Bean注解方法
@Configuration
public class TestConfiguration {
    public TestConfiguration() {
        System.out.println("TestConfiguration容器启动初始化。。。");
    }
    // @Bean注解注册bean,同时可以指定初始化和销毁方法
    // @Bean(name="testBean",initMethod="start",destroyMethod="cleanUp")
    @Bean
    @Scope("prototype")
    public TestBean testBean() {
        return new TestBean();
    }
}

这等同于在标签中配置一个,并且可以在@Bean中指定实例的初始化方法和销毁方法,等效于下面的Spring的xml配置文件






  1. @Configuration注解类+ @ComponentScan注解类
@Configuration
//添加自动扫描注解,basePackages为TestBean包路径
@ComponentScan(basePackages = "com.xxx.demo.configuration")
public class TestConfiguration {
    public TestConfiguration() {
        System.out.println("TestConfiguration容器启动初始化。。。");
    }
}

@ComponentScan用于配置自动扫描包,等效于下面的Spring的xml配置文件






  1. 使用@Import引入其他配置类
@Configuration
@ImportResource("classpath:applicationContext-configuration.xml")
@Import(TestConfiguration.class)
public class WebConfig {
}

通过上面这种方式可以在一个配置类中引入其他配置类或者配置文件


总结

简单介绍了几个配置类中常用注解的使用方法

  • 单独使用@Configuration注解在类上
  • @Configuration注解类+@Bean注解方法
  • @Configuration注解类+ @ComponentScan注解类
  • 使用@Import引入其他配置类

你可能感兴趣的:(Spring中常用的@Configuration和其他配置类注解)