本文主要是介绍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("/")@ResponseBodyString 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或导入额外的配置类。
这篇关于SpringBoot注解@SpringBootApplication @EnableAutoConfiguration @ComponentScan @Configuration的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!