Spring Boot框架的自动配置
(图片来源于网络,侵删!!!)
l @RestController
因为我们例子是写一个web应用,因此写的这个注解,这个注解相当于同时添加@Controller和@ResponseBody注解
l @SpringBootApplication
由于大量项目都会在主要的配置类上添加@Configuration,@EnableAutoConfiguration,@ComponentScan三个注解。
因此Spring Boot提供了@SpringBootApplication注解,该注解可以替代上面三个注解(使用Spring注解继承实现)。
l @EnableAutoConfiguration
Spring Boot运行是由注解@EnableAutoConfiguration提供的,SpringBoot建议只有一个带有该注解的类。添加完该注解之后,Spring Boot会自动根据你jar包的依赖来自动配置项目。
这里的关键功能是@Import注解。@AutoConfigurationImportSelector使用SpringFactoriesLoader.loadFactoryNames方法来扫描具有MEAT-INF/spring.factories文件的jar包(注意:1.5版本以前使用EnableAutoConfigurationImportSelector类,1.5以后这个类废弃了,本次示例用的是1.8,使用的是AutoConfigurationImportSelector类)
(上述过程均可在源码中看到,感兴趣的读者可以按照上述顺序对源码进行查询学习,此处不再一一说明。)
下面是spring-boot-autoconfigure-2.1.3.RELEASE.jar下的MEAT-INF中的spring.factories文件的部分内容。
最新文章
- EasyPR--开发详解(2)车牌定位
- Codeforces Round #294 (Div. 2) D. A and B and Interesting Substrings
- Ubuntu14.04 LTS更新源
- [k]web页面-browser兼容问题-1
- JavaScript之模块化编程
- JQuery_AJAX简单笔记
- 64位linux中使用inet_ntoa报错处理
- EF中执行原生sql与使用Local获取本地数据
- maven:安装m2eclipse插件
- 基于visual Studio2013解决C语言竞赛题之1028平均值
- 基于clip-path的任意元素的碎片拼接动效(源自鑫空间)
- /etc/fstab最后3个字段详解
- MySQL中MyISAM与InnoDB区别
- Pymysql-总结
- Linux下redis 的部署、主从与集群
- 01_Mybaits逆向工程maven版
- 使用onpaste粘贴事件引起的探索
- nginx 日志log_format格式
- Codeforces Round #543 (Div. 2) D 双指针 + 模拟
- 关于.NET编程中各种事务的实现