首页 > 代码库 > spring boot学习总结(二)-- 关于@SpringBootApplication的一些基础知识点
spring boot学习总结(二)-- 关于@SpringBootApplication的一些基础知识点
1、@SpringBootApplication
它是一个复合Annotation,实际上对于SpringBoot应用来说,最重要的是只有三个
@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited
// 最重要的三个@Configuration@EnableAutoConfiguration@ComponentScan
public @interface SpringBootApplication{ ... }
每次写三个Annotation过于繁琐
@Configuration@EnableAutoConfiguration@ComponentScanpublic class DemoApplication { public static void main(String[] args) { SpringApplication.run(SpringBoot01Application.class, args); }}
可以简化,写一个@SpringBootApplication一站式复合
@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { SpringApplication.run(SpringBoot01Application.class, args); }}
2、@ComponentScan
功能:自动扫描并加载符合条件的组件或bean定义,然后加载到容器中
3、@EnableAutoConfiguration,也是一个复合Annotation
@Target(ElementType.TYPE)@Retention(RententionPolicy.RUNTIME)@Documented@Inherited@AutoConfigurationPackage@Import(EnableAutoConfigurationImportSelector.class)public @interface EnableAutoConfiguration{ ... }
最关键的是@Import,将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器。
借助Spring框架原有的工具类SpringFactoriesLoader的支持,@EnableAutoConfiguration才能实现"智能"的自动化配置。
-- End --待续~
spring boot学习总结(二)-- 关于@SpringBootApplication的一些基础知识点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。