【SpringBoot】@springbootapplication 注解讲解
文章目录
- 注解说明:
- @**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 注解讲解相关推荐
- 2-7 SpringBoot常用注解讲解
首先,讲解一下RestController @RestController RestController是Controller和ResponseBody的结合. RnableAutoConfigura ...
- SpringBoot核心注解@SpringBootApplication一二
SpringBoot核心注解@SpringBootApplication,用于SpringBoot项目的启动类上,在 2.2.0.RELEASE 版本中是4个注解的组合,即 @SpringBootCo ...
- springboot情操陶冶-@SpringBootApplication注解解析
承接前文springboot情操陶冶-@Configuration注解解析,本文将在前文的基础上对@SpringBootApplication注解作下简单的分析 @SpringBootApplicat ...
- springboot源码(二)@SpringBootApplication注解中exclude参数使用及原理
文章目录 一.使用姿势 二.运行原理 上篇文章中, <springboot源码(一)启动流程+自动配置原理分析>,简单分析了启动流程,其中涉及到了@SpringBootApplicatio ...
- SpringBoot的@SpringBootApplication注解和其他几个注解
转载自 https://blog.csdn.net/zzzgd_666/article/details/80310840 首先,我们来看看@SpringBootApplication注解代码,如下代码 ...
- 使用idea开发SpringBoot应用,添加@SpringBootApplication注解时,不能自动提示
刚用idea不久,在给类添加@SpringBootApplication注解时,系统居然不能自动提示,仔细检查maven的依赖以及libararies是否有对应的jar包,发现没有问题.最后注意到是I ...
- 40 个 SpringBoot 常用注解
以下文章来源方志朋的博客,回复"666"获面试宝典 来源:https://ramostear.com/ 一.Spring Web MVC 与 Spring Bean 注解 Spri ...
- 神秘又强大的@SpringBootApplication注解
作者:vivo 互联网服务器团队-Peng peng 一.前言 大部分的配置都可以用Java类+注解来代替,而在SpringBoot项目中见的最多的莫过于@SpringBootApplication注 ...
- 二.Springboot 常用注解
@SpringBootApplication: 包含@Configuration.@EnableAutoConfiguration.@ComponentScan通常用在主类上. 很多SpringBoo ...
- springboot事物注解不生效_SpringBoot攻略三、配置文件说明
自动配置 SpringBoot启动的时候加载主配置类(@SpringBootApplication注解修饰), @SpringBootApplication开启了自动配置功能 @EnableAutoC ...
最新文章
- 在Asp.Net MVC中设定site路径所对应的默认action
- 联发科有没有高端处理器_联发科陷入“危机”,高端处理器无人使用,只能依靠OPPO?...
- k-means算法的理解与实现
- JFreeChart API(中文)
- sap 采购订单中收货容差的取值顺序
- 学好英语网首页制作_没有美术基础的新手小白,如何学好淘宝美工?
- Full_of_Boys训练6总结
- 洛谷 U5737 纸条
- 如何保证消息不被重复消费【[如何保证消息消费的幂等性】?
- RS_code 编码和解码
- 一项千年太空任务即将拯救人类——科学家们正在密谋中
- 微信小程序客服可以直接在手机回复吗,小程序客服功能怎么用手机回复,微信小程序客服手机版
- 微信小程序选择图片更换背景
- JavaWeb学习笔记2 —— Web服务器简介
- 分子动力学(二)-成键相互作用
- 堆排序、归并排序、快速排序
- 汇总-13台虚拟机搭建一个高可用负载均衡集群架构
- 【axios源码】- 取消请求cancel模块研读解析
- lattepanda安装linux系统,lattepanda alpha Ubuntu18.04下配置串口登录
- HTML\CSS知识点(一)