通过IDEA快速创建一个Spring Boot项目后,Group根路径下会有一个带有@SpringBootApplication注解的启动类,同时这个类还拥有一个我们特别熟悉的main方法,执行该方法则可以直接启动我们的Spring Boot项目。

示例代码如下:

package com.wuwl;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//开启组件扫描和自动配置
@SpringBootApplication
public class SpringQuickStartApplication {public static void main(String[] args) {//负责启动引导应用程序SpringApplication.run(SpringQuickStartApplication.class, args);}}

SpringQuickStartApplication这个类再springBoot应用程序中有两个作用,配置和启动引导。

  • SpringQuickStartApplication是主要的Spring配置类,虽然Spring Boot的自动配置功能省去了大量的Spring配置,但还是需要进行少量配置,来启动自动配置。@SpringBootApplication开启了Spring的组件扫描和Spring Boot的自动配置功能。实际上,@SpringBootApplication将三个有用的注解组合在一起实现:

    • Spring的@Configuration 标明该类使用Spring基于Java的配置。虽然本书不会写太多配置,但我们会更倾向于使用基于Java而不是XML的配置。

    • Spring的@ComponentScan 启用组件扫描,这样你写的Web控制器类和其他组件才能被自动发现并注册为Spring应用程序上下文里的Bean。本章稍后会写一个简单的Spring MVC控制器,使用@Controller进行注解,这样组件扫描才能找到它。

    • Spring Boot的@EnableAutoConfiguration 这个不起眼的小注解也可以称为@Abracadabra,就是这一行配置开启了Spring Boot自动配置的魔力,让你不用再写成篇的配置了。

    • 在Spring Boot的早期版本中,你需要在ReadingListApplication类上同时标上这三个注解,但从Spring Boot 1.2.0开始,有@SpringBootApplication就行了。

  • SpringQuickStartApplication 还是一个启动引导类。要运行Spring Boot应用程序有几种方式,其中包含传统的WAR文件部署。但这里的main()方法让你可以在命令行里把该应用程序当作一个可执行JAR文件来运行。这里向SpringApplication.run()传递了一个SpringQuickStartApplication 类的引用,还有命令行参数,通过这些东西启动应用程序。

springBoot笔记(一) @SpringBootApplication的神奇魔力相关推荐

  1. Spring Boot框架知识总结笔记(超详细,一次性到位)狂神说SpringBoot笔记

    开始就进入微服务阶段 javase:OOP MySQL:持久化 html+css+js+jquery+框架:视图,框架不熟练,css不好 javaweb:独立开发MVC三层架构的网站:原始 ssm:框 ...

  2. 学习SpringBoot笔记以及错误记录

    学习SpringBoot笔记以及错误记录 <1>. 启动类(SpringBootApplication)放错位置 错误场景:MainApplication类不应放在默认的src.main. ...

  3. SpringBoot笔记:SpringBoot2.3集成SpringSession+nginx+redis实现session共享

    文章目录 Spring Session介绍 Redis集成 yml配置 依赖添加 redis存值查看 登录服务器查看redis的值 查询所有"spring:session:"开头的 ...

  4. SpringBoot笔记整理(四)

    SpringBoot笔记整理(一) SpringBoot笔记整理(二) SpringBoot笔记整理(三) SpringBoot笔记整理(四) 1.SpringMVC自动配置 以下是SpringBoo ...

  5. SpringBoot笔记整理(三)

    SpringBoot笔记整理(一) SpringBoot笔记整理(二) SpringBoot笔记整理(三) SpringBoot笔记整理(四) Web开发 1.使用SpringBoot: 1)创建Sp ...

  6. SpringBoot笔记整理(二)

    SpringBoot笔记整理(一) SpringBoot笔记整理(二) SpringBoot笔记整理(三) SpringBoot笔记整理(四) Spring Boot与日志(日志框架.日志配置) 1. ...

  7. SpringBoot笔记整理(一)

    SpringBoot笔记整理(一) SpringBoot笔记整理(二) SpringBoot笔记整理(三) SpringBoot笔记整理(四) 1.使用Spring Initializer快速创建Sp ...

  8. SpringBoot核心注解@SpringBootApplication一二

    SpringBoot核心注解@SpringBootApplication,用于SpringBoot项目的启动类上,在 2.2.0.RELEASE 版本中是4个注解的组合,即 @SpringBootCo ...

  9. SpringBoot笔记系列目录

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过 ...

最新文章

  1. 错误提示没了_ESC错误排查-系统启动篇
  2. Linux下SSH使用rsa认证方式省去输入密码
  3. web浏览器进化简史
  4. L2-015 互评成绩(排序)
  5. Servlet期末复习笔记3
  6. 合伙人的重要性超过了商业模式和行业选择(转)
  7. 2021下半年信息系统项目管理师-综合知识
  8. 【STM32H7的DSP教程】第5章 Matlab简易使用之常用编程语句
  9. 微信小程序 服务通知
  10. 高清视频录制工具(Bandicam)v2.1.2.740中文使用技巧
  11. 计算机如何与光猫连接网络,路由器怎么连接猫和电脑 路由器连接详解【图文】...
  12. Heartbeat超时值
  13. 凯云水利水电造价工程系统 (三) 材料单价模块(1)
  14. HTC One M7刷机包 基于官方4.3.0 精简稳定 省电(新蜂V2.5)
  15. 前摩拜创始人出任百度造车CEO
  16. 饮水总要思源,才能走得更远
  17. 介绍XXTEA加密算法
  18. Dev-C++中关于函数 was not declared in this scope报错的解决方法
  19. Sql server 索引碎片
  20. eventlet并发读写socket出现Second simultaneous问题

热门文章

  1. 如何在现代C ++中实现经典排序算法?
  2. 何时及为何使用代表? [重复]
  3. 如何将Git用于Unity3D源代码管理?
  4. 写入Visual Studio的输出窗口
  5. win10系统电脑c盘哪些文件可以删除,c盘可以删除的文件有哪些
  6. ros开发增加clion常用模板及初始化配置(五)
  7. TortoiseGit:参考文章
  8. 微信小程序API之audio
  9. c语言 0494-方程求根,C语言:作业一 选择结构.doc
  10. python清空画布_关于python:如何清除Tkinter画布?