@SpringBootApplication 看似简单,其实暗藏玄机

我们来看下Springboot的启动类

package com.wonderqin.restfulwebservice;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
 * @Author wonderqin
 * @Description TODO
**/
@SpringBootApplication
public class DemoApplication {

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

}

@SpringBootApplication 看似简单,其实暗藏玄机,它包含了以下所有内容:

  • @Configuration将类标记为应用程序上下文的bean定义源。
  • @EnableAutoConfiguration告诉Spring Boot根据类路径设置,其他bean和各种属性设置开始添加bean。
  • 通常我们在使用spring的mvc时,会为Spring MVC应用程序添加@EnableWebMvc注解,但Spring Boot会在类路径上看到spring-webmvc时自动添加它。 这会将应用程序标记为Web应用程序并激活关键行为,例如设置DispatcherServlet。
  • @ComponentScan告诉Spring在当前目录下(包括当前目录)的包中寻找其他组件,配置和服务,允许它找到控制器。

你可能感兴趣的:(@SpringBootApplication 看似简单,其实暗藏玄机)