SpringBoot注解@SpringBootApplication @EnableAutoConfiguration @ComponentScan @Configuration

1、@SpringBootApplication

   在main函数内
@SpringBootApplication = (默认属性)@Configuration + @EnableAutoConfiguration + @ComponentScan.也就是SpringBoot将三个注解统一为@SpringBootApplication。

@SpringBootApplication // 等同于 @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {
	public static void main(String[] args) {
		///
	}
}

1.1 @EnableAutoConfiguration

 该注解用于定义配置类,以替换xml的配置文件。被注解的类内部包含有一个或多个被@Bean注解的方法,相当于xml文件中的标签。

@EnableAutoConfiguration
public class SpringBootDemo1 {
	@RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }
 
    public static void main(String[] args) throws Exception {
        SpringApplication.run(SpringBootDemo1.class, args);//运行spring应用程序
    }
}

   上面的代码如果不加@EnableAutoConfiguration注解,就会报错:
Unable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean。或者加@SpringBootApplication注解也可以解决。
这里写图片描述

1.2 @ComponentScan

   定义扫描路径,该包路径下的@Component, @Service, @Repository, @Controller 等类都会被自动装载到容器内。

1.3 @Configuration

   允许在上下文中注册其他的bean或导入额外的配置类。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章