文章目录

  • 注解说明:
    • @**SpringBootApplication** :
    • @**SpringBootConfiguration**:
    • @**EnableAutoConfiguration**:

在开启一个springboot项目的时候,我们首先看到的就是项目主程序入口:

package com.example.demo1;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class Demo1Application {public static void main(String[] args) {SpringApplication.run(Demo1Application.class, args);}}

注解说明:

@SpringBootApplication :

标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;

为什么这里是 @SpringBootApplication呢,这是因为为了方便。启动springboot同样需要很多的注解,比较重要的几个如下:

@SpringBootConfiguration // 继承了Configuration,表示当前是注解类
@EnableAutoConfiguration // 开启springboot的注解功能,springboot的四大神器之一
@ComponentScan(excludeFilters // 扫描路径设置(具体使用待确认)

也就是说:如果我们使用上面的注解启动我们启动类,整个SpringBoot应用依然可以与之前的启动类功能对等:代码如下

@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

我们使用idea的默认快捷键ctrl +B,打开@SpringBootApplication 注解的内容。可以发现,注解中包含我们刚才说的 几个重要的注解:

package org.springframework.boot.autoconfigure;import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.context.TypeExcludeFilter;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.FilterType;
import org.springframework.context.annotation.ComponentScan.Filter;
import org.springframework.core.annotation.AliasFor;@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 {// 内容省略
}

@SpringBootConfiguration:

标注在某个类上,表示这是一个Spring Boot的配置类;

对比:众所周知, @Configuration 是spring 的注解:@Configuration标注在某个类上,表示这是spring的配置类,当然,配置类也是一个容器中的组件,为此凡是写@Configuration注解的类上面也要写上@Component

@EnableAutoConfiguration

开启自动配置功能;

以前我们需要配置的东西,Spring Boot帮我们自动配置;@EnableAutoConfiguration告诉SpringBoot开启自动配置功能;这样自动配置才能生效;

【SpringBoot】@springbootapplication 注解讲解相关推荐

  1. 2-7 SpringBoot常用注解讲解

    首先,讲解一下RestController @RestController RestController是Controller和ResponseBody的结合. RnableAutoConfigura ...

  2. SpringBoot核心注解@SpringBootApplication一二

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

  3. springboot情操陶冶-@SpringBootApplication注解解析

    承接前文springboot情操陶冶-@Configuration注解解析,本文将在前文的基础上对@SpringBootApplication注解作下简单的分析 @SpringBootApplicat ...

  4. springboot源码(二)@SpringBootApplication注解中exclude参数使用及原理

    文章目录 一.使用姿势 二.运行原理 上篇文章中, <springboot源码(一)启动流程+自动配置原理分析>,简单分析了启动流程,其中涉及到了@SpringBootApplicatio ...

  5. SpringBoot的@SpringBootApplication注解和其他几个注解

    转载自 https://blog.csdn.net/zzzgd_666/article/details/80310840 首先,我们来看看@SpringBootApplication注解代码,如下代码 ...

  6. 使用idea开发SpringBoot应用,添加@SpringBootApplication注解时,不能自动提示

    刚用idea不久,在给类添加@SpringBootApplication注解时,系统居然不能自动提示,仔细检查maven的依赖以及libararies是否有对应的jar包,发现没有问题.最后注意到是I ...

  7. 40 个 SpringBoot 常用注解

    以下文章来源方志朋的博客,回复"666"获面试宝典 来源:https://ramostear.com/ 一.Spring Web MVC 与 Spring Bean 注解 Spri ...

  8. 神秘又强大的@SpringBootApplication注解

    作者:vivo 互联网服务器团队-Peng peng 一.前言 大部分的配置都可以用Java类+注解来代替,而在SpringBoot项目中见的最多的莫过于@SpringBootApplication注 ...

  9. 二.Springboot 常用注解

    @SpringBootApplication: 包含@Configuration.@EnableAutoConfiguration.@ComponentScan通常用在主类上. 很多SpringBoo ...

  10. springboot事物注解不生效_SpringBoot攻略三、配置文件说明

    自动配置 SpringBoot启动的时候加载主配置类(@SpringBootApplication注解修饰), @SpringBootApplication开启了自动配置功能 @EnableAutoC ...

最新文章

  1. 在Asp.Net MVC中设定site路径所对应的默认action
  2. 联发科有没有高端处理器_联发科陷入“危机”,高端处理器无人使用,只能依靠OPPO?...
  3. k-means算法的理解与实现
  4. JFreeChart API(中文)
  5. sap 采购订单中收货容差的取值顺序
  6. 学好英语网首页制作_没有美术基础的新手小白,如何学好淘宝美工?
  7. Full_of_Boys训练6总结
  8. 洛谷 U5737 纸条
  9. 如何保证消息不被重复消费【[如何保证消息消费的幂等性】?
  10. RS_code 编码和解码
  11. 一项千年太空任务即将拯救人类——科学家们正在密谋中
  12. 微信小程序客服可以直接在手机回复吗,小程序客服功能怎么用手机回复,微信小程序客服手机版
  13. 微信小程序选择图片更换背景
  14. JavaWeb学习笔记2 —— Web服务器简介
  15. 分子动力学(二)-成键相互作用
  16. 堆排序、归并排序、快速排序
  17. 汇总-13台虚拟机搭建一个高可用负载均衡集群架构
  18. 【axios源码】- 取消请求cancel模块研读解析
  19. lattepanda安装linux系统,lattepanda alpha Ubuntu18.04下配置串口登录
  20. HTML\CSS知识点(一)

热门文章

  1. 6个免费科技外文文献下载网址,拿走不谢
  2. 栅栏密码怎么写java程序_[CTF]栅栏密码学习
  3. 计算机考研数据结构高分笔记,2021版天勤计算机考研高分笔记系列:数据结构高分笔记(第9版)...
  4. 小规模免税新政,账务怎么做?
  5. 读《人工智能,李开复王咏刚》
  6. linux可执行文件的后缀是什么?
  7. 【数值分析】python实现四阶龙格库塔法
  8. 电磁场仿真原理——5. 有限元法(FEM)
  9. Java毕业设计-漫画管理系统
  10. Otsu阈值分割详解