Springboot注解

一 配置类注解

1.1 @Configuration @Bean

@Configuration可理解为用spring的时候xml里面的标签
@Bean可理解为用spring的时候xml里面的标签

你不需要将所有的 @configuration 放进一个单独的类,@Import注解可以用来导入其他配置类。另外,你也可以使用 @ComponentScan 注解自动收集所有Spring组件, 包括 @Configuration类。

1.2 @ImportResource

如果必须使用XML配置,建议你仍旧从一个 @Configuration 类开始,然后使用 @ImportResource 注解加载XML文件

1.3 @EnableAutoConfiguration @SpringBootApplication

实现自动配置有两种可选方式,分别是将@EnableAutoConfiguration或 @SpringBootApplication 注解到 @Configuration类上。
注:你应该只添加一个 @EnableAutoConfiguration 注解,通常建议将它t添加到主配置类(
primary @Configuration)上。

很多Spring Boot开发者经常使用@Configuration,@EnableAutoConfiguration,@ComponentScan注解他们的main类,由于这些注解如此频繁地一块使用(特别是遵循以上最佳实践的时候),Spring Boot就提供了一个方便的@SpringBootApplication注解作为代替。

@SpringBootApplication注解等价于以默认属性使用@Configuration,@EnableAutoConfiguration和@ComponentScan :

“@SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}”

摘录来自: qibaoguang. “Spring Boot参考指南。” iBooks. 

如果发现启用了不想要的自动配置项,你可以使用@EnableAutoConfiguration注解的exclude属性禁用它们:

@Configuration
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class MyConfiguration {
}

二 Spring Beans和依赖注入

我们经常使用@ComponentScan注解搜索beans,并结合@Autowired构造器注入。

通常建议将应用的main类(Application.java)放到其他类所在包的顶层(root package),并将@SpringBootApplication放在你的main类上,这样就隐式地定义了一个基础的包搜索路径(search package):

com
 +- example
     +- myproject
         +- Application.java
         |
         +- domain
         |   +- Customer.java
         |   +- CustomerRepository.java
         |
         +- service
         |   +- CustomerService.java
         |
         +- web
             +- CustomerController.java

你可能感兴趣的:(Springboot注解)