zhaoyu@home:~$

springboot-常用注解

@EnableAutoConfiguration

该标记加载springboot的默认配置。springboot会给项目自动加载一系列默认的配置。如:

  • ServerPropertiesAutoConfiguration
  • RepositoryRestMvcAutoConfiguration
  • JpaRepositoriesAutoConfiguration
  • JmsAutoConfiguration

也可以排除某些自动加载项。如DataSource

@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

@SpringBootApplication

SpringBootApplication 通常声明在main方法上,项目是基于该注解所在的包来扫描注解的。如JPA项目是基于SpringBootApplication注解 的包来 搜索@Entity对象的。

SpringBootApplication注解包含了EnableAutoConfiguration、Configuration和ComponentScan 注解。所以,如果你不想使用 SpringBootApplication,可以使用EnableAutoConfiguration、Configuration和ComponentScan注解代替SpringBootApplication。

@Configuration

这是spring基于java的配置方式,代替基于xml的配置方式,同样用@Bean注解代替xml中的<Bean>标记。可以将需要 加载的java类都放到@Configuration中。@Configuration通常定义在有main方法的类上,可以定义多个@Configuration。

@Import

当然也可以不将所有的java类都放到@Configuration中,使用@Import导入外部的配置类。
声明一个@Configuration外的Bean,如:

public class TestBean1 {
}

@Import({TestBean1.class})
@Configuration
public class AppConfig {
}

当然Import还可以导入ImportSelector的实现类或ImportBeanDefinitionRegistrar的实现类。

导入XML配置

如果你必须要使用XML配置,仍然建议建立一个@Configuration注解的类,使用@ImportResource加载一个XML配置文件。