您的位置:首页 > 编程语言 > Java开发

@SpringBootApplication注解

2020-04-06 15:16 661 查看

@SpringBootApplication注解

由spring的源码可以知道

@SpringBootApplication注解包含了以下几个注解(均从SpringBootApplication.java中拷贝)

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })

且由标题上的原文注释可以得知

/**
* Indicates a {@link Configuration configuration} class that declares one or more
* {@link Bean @Bean} methods and also triggers {@link EnableAutoConfiguration
* auto-configuration} and {@link ComponentScan component scanning}. This is a convenience
* annotation that is equivalent to declaring {@code @Configuration},
* {@code @EnableAutoConfiguration} and {@code @ComponentScan}.
*
* @author Phillip Webb
* @author Stephane Nicoll
* @author Andy Wilkinson
* @since 1.2.0
*/

This is a convenience annotation that is equivalent to declaring {@code @Configuration}, {@code @EnableAutoConfiguration} and {@code @ComponentScan}.

该注解等同于@Configuration,@EnableAutoConfiguration,@ComponentScan这三个注解的组合。

@Configuration往往与@bean是同时使用的,这两个注解就可以构建一个简单的Spring的配置类,用来代替相应的xml文件,@Configuration表示能够使用Spring IOC(Inversion of Control/控制反转)容器作为bean的来源,bean注解就会告诉Spring,一个带有bean注解的方法返回一个对象。通常该对象被注册为Springcontext的bean。

@EnableAutoConfiguration是自动配置Spring的上下文。根据类路径和bean定义实现自动配置。

@ComponentScan会自动扫面有指定包下@Component的类并注册成为@bean,当然包括@Component下的子注解@Service,@Repository,@Controller

其下一般有一个 psvm方法,有个run方法,来引导。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: