SpringBoot注解之@SpringBootApplication的使用

@SpringBootApplication是spring boot最重要的一个注解,用于快捷配置启动类。

之前用户使用的是3个注解注解他们的main类。分别是@Configuration,@EnableAutoConfiguration,@ComponentScan。由于这些注解一般都是一起使用,spring boot提供了一个统一的注解@SpringBootApplication。

@SpringBootApplication = (默认属性)@Configuration + @EnableAutoConfiguration + @ComponentScan。

[java]  view plain  copy
  1. @SpringBootApplication  
  2. public class ApplicationMain {  
  3.     public static void main(String[] args) {  
  4.         SpringApplication.run(Application.class, args);  
  5.     }  
  6. }  


分开解释@Configuration,@EnableAutoConfiguration,@ComponentScan。

1、@Configuration:提到@Configuration就要提到他的搭档@Bean。使用这两个注解就可以创建一个简单的spring配置类,可以用来替代相应的xml配置文件。

[html]  view plain  copy
  1. <beans>  
  2.     <bean id = "car" class="com.test.Car">  
  3.         <property name="wheel" ref = "wheel"></property>  
  4.     </bean>  
  5.     <bean id = "wheel" class="com.test.Wheel"></bean>  
  6. </beans>  

相当于:

[java]  view plain  copy
  1. @Configuration  
  2. public class Conf {  
  3.     @Bean  
  4.     public Car car() {  
  5.         Car car = new Car();  
  6.         car.setWheel(wheel());  
  7.         return car;  
  8.     }  
  9.     @Bean   
  10.     public Wheel wheel() {  
  11.         return new Wheel();  
  12.     }  
  13. }  
@Configuration的注解类标识这个类可以使用Spring IoC容器作为bean定义的来源。@Bean注解告诉Spring,一个带有@Bean的注解方法将返回一个对象,该对象应该被注册为在Spring应用程序上下文中的bean。

2、@EnableAutoConfiguration:能够自动配置spring的上下文,试图猜测和配置你想要的bean类,通常会自动根据你的类路径和你的bean定义自动配置。

3、@ComponentScan:会自动扫描指定包下的全部标有@Component的类,并注册成bean,当然包括@Component下的子注解@Service,@Repository,@Controller。

猜你喜欢

转载自blog.csdn.net/albenxie/article/details/80199188