springboot源码-01

1 @SpringBootApplication组合注解包含?
 * @author Phillip Webb
 * @author Stephane Nicoll
 * @author Andy Wilkinson

@SpringBootApplication这个接口是由以上人员开发,所以可以去twitter或者fb搜索三名作者进行请教问题的答案,这是个不是玩笑的玩笑

@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) })
public @interface SpringBootApplication {

其中,@Target @Retention @Documented @Inherited位于java.lang.annotation包下,属于java语法范畴,仅做标记还是在何处做了处理?
重点关注,@SpringBootConfiguration @EnableAutoConfiguration @ComponentScan这三个注解,见问知意,分别为springboot配置、开启自动配置和组件扫描
可以说,@SpringBootApplication由这三个注解组合而成,这样我们就在什么都不懂的情况下拿了步骤分,这是个不是讽刺的讽刺
需要注意的是,@SpringBootApplication这个注解是在单独的jar包下(org.springframework.boot.autoconfigure),可见自动配置在springboot技术中的权重和独立性
@EnableAutoConfiguration与@SpringBootApplication同包,无需import
@ComponentScan位于org.springframework.context.annotation包下,属spring框架范畴
@SpringBootConfiguration位于org.springframework.boot包下
包的划分是个值得体会的事情,一个自然的问题是,这三个注解是做什么的,这样我们就把一个是什么的问题等量替换为三个是什么的问题,这也是个不是玩笑的玩笑
回到问题意图,@SpringBootApplication注解是做什么的?根据注释和有道词典...
此时,百度网盘弹了个窗提示下载完毕,以此可知我们的人生为何一直断点无法续传,继续...

 * 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}.
# 标记一个类,该类声明了一个或多个Bean方法并实现自动配置和组件扫描
# 这是个便捷注解,等价于声明@Configuration @EnableAutoConfiguration @ComponentScan这三个注解

虽然并没有多少实质性的信息,但至少指明了方向,实质,接口本来就是隐藏实现细节的,接口注释同理
其中,@Configuration也是位于org.springframework.context.annotation包下
对于,@SpringBootApplication的6个方法及其注释,以及三个子注解的进一步理解,实际也超出了问题的范畴

2. springboot应用启动顺序?
 * @author Phillip Webb
 * @author Dave Syer
 * @author Andy Wilkinson
 * @author Christian Dupuis
 * @author Stephane Nicoll
 * @author Jeremy Rickard
 * @author Craig Burke
 * @author Michael Simons
 * @author Madhura Bhave
 * @author Brian Clozel
 * @author Ethan Rubinson
# 文化是一种纽带,带来和平

待续...

你可能感兴趣的:(springboot源码-01)