(图片来源于网络,侵删!!!)

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文件的部分内容。

最新文章

  1. EasyPR--开发详解(2)车牌定位
  2. Codeforces Round #294 (Div. 2) D. A and B and Interesting Substrings
  3. Ubuntu14.04 LTS更新源
  4. [k]web页面-browser兼容问题-1
  5. JavaScript之模块化编程
  6. JQuery_AJAX简单笔记
  7. 64位linux中使用inet_ntoa报错处理
  8. EF中执行原生sql与使用Local获取本地数据
  9. maven:安装m2eclipse插件
  10. 基于visual Studio2013解决C语言竞赛题之1028平均值
  11. 基于clip-path的任意元素的碎片拼接动效(源自鑫空间)
  12. /etc/fstab最后3个字段详解
  13. MySQL中MyISAM与InnoDB区别
  14. Pymysql-总结
  15. Linux下redis 的部署、主从与集群
  16. 01_Mybaits逆向工程maven版
  17. 使用onpaste粘贴事件引起的探索
  18. nginx 日志log_format格式
  19. Codeforces Round #543 (Div. 2) D 双指针 + 模拟
  20. 关于.NET编程中各种事务的实现

热门文章

  1. python,pip环境变量设置
  2. springboot秒杀课程学习整理1-2
  3. Spring-----入门
  4. js操作BOM对象
  5. express3/4引入socket.io
  6. LeetCode算法历程-01
  7. Visual Studio 2017 离线安装包
  8. 深入java----java内存区域及对象的创建
  9. shiro三连斩之第一斩
  10. selenium 分布式 [WinError 10061] 由于目标计算机积极拒绝