2.2 @SpringBootApplication

2024-04-16 22:28
文章标签 2.2 springbootapplication

本文主要是介绍2.2 @SpringBootApplication,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2.2 @SpringBootApplication

在前文的介绍中,读者已经了解到@SpringBootApplication注解是加在项目的启动类上的。
@SpringBootApplication实际上是一个组合注解,定义如下:

@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {@Filter(type = FilterType.CUSTOM,classes = {TypeExcludeFilter.class}
), @Filter(type = FilterType.CUSTOM,classes = {AutoConfigurationExcludeFilter.class}
)}
)

这个注解由三个注解组成。

①第一个@SpringBootConfiguration的定义如下:

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration
@Indexed
public @interface SpringBootConfiguration {@AliasFor(annotation = Configuration.class)boolean proxyBeanMethods() default true;
}

原来就是一个@Configuration,所以@SpringBootConfiguration的功能就是表明这是一个配置类,开发者可以在这个类中配置Bean。
从这个角度来讲,这个类所扮演的角色有点类似于Spring 中applicationContext.xml文件的角色。

②第二个注解@EnableAutoConfiguration表示开启自动化配置。SpringBoot中的自动化配置是非侵入式的,在任意时刻,开发者都可以使用自定义配置代替自动化配置中的某一个配置。

③第三个注解@ComponentScan完成包扫描,也是Spring中的功能。由于@ComponentScan注解默认扫描的类都位于当前类所在包的下面,因此建议在实际项目开发中把项目启动类放在根包中,如图2-1所示。
图2-1

虽然项目的启动类也包含@Configuration注解,但是开发者可以创建一个新的类专门用来配置Bean,这样便于配置的管理
这个类只需要加上@Configuration注解即可,代码如下:

/*** Swagger2的接口配置* * @author ruoyi*/
@Configuration
public class SwaggerConfig

项目启动类中的@ComponentScan注解,除了扫描@Service、@Repository、@Component、@Controller和@RestController等之外,也会扫描@Configuration注解的类。

这篇关于2.2 @SpringBootApplication的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/910062

相关文章

新型PyPI攻击技术可能导致超2.2万软件包被劫持

一种针对 Python 软件包索引(PyPI)注册表的新型供应链攻击技术已在野外被利用,并且目前正试图渗透到下游组织中。 软件供应链安全公司 JFrog 将其代号定为Revival Hijack,并称这种攻击方法可用于劫持 2.2万个现有 PyPI 软件包,并导致数十万次恶意软件包下载。这些易受攻击的软件包下载量已超过 10 万次,或已活跃超过 6 个月。 JFrog安全研究人员And

AssetsBundleExtractor中文汉化版2.2

感谢-DJ小良汉化 AssetsBundleExtractor工具是一款 人类黎明游戏的assest修改工具 和MOD制作所需要的一款软件 下载地址:https://pan.quark.cn/s/b8104b849fbe

2.2线性代数的力量

欢迎来到线性代数的世界,这里是量化交易的健身房,我们的目标是让你的大脑肌肉变得强大,以便在金融市场上大展拳脚。别担心,即使你在大学时数学成绩可能只比体育课成绩好那么一点点,我也会用最通俗易懂的方式,让你领略到线性代数的魅力。 向量、矩阵与线性变换 首先,让我们从向量开始。想象一下,你手里拿着一个箭头,这个箭头有方向也有长度,这就是向量。在量化交易中,我们可以把股票价格的变化想象成向量,方向代表

自定义SpringBootApplication、Java代码启动Tomcat

1 自定义@DavidSpringBootApplication package com.david.springboot;import org.springframework.context.annotation.ComponentScan;import java.lang.annotation.*;@Target({ElementType.TYPE})@Retention(Retenti

Springboot系列:@SpringBootApplication注解

在使用 Springboot 框架进行开发的时候,通常我们会在 main 函数上添加 @SpringBootApplication 注解,今天为大家解析一下 @SpringBootApplication,如有不正之处,欢迎批评指正。 @SpringBootApplication @SpringBootApplication源码如下: @Target({ElementType.TYPE})@Re

CRMEB多商户2.2.1小程序授权问题

多商户2.2.1版本更新了小程序登录授权增加隐私协议,但是重新发布后有部分用户无法授权,具体表现为点击同意隐私协议以后,授权无反应,主要原因是因为腾讯更新了授权指引相关信息,这里给出的处理办法是在小程序后台增加获取信息类型。 登录微信小程序后台 公众平台 。 2. 点击头像,选择基本设置。 3. 拉到最底下,找到 服务内容声明,找到用户隐私协议保护指引。 4. 点击 更新 会跳转到新的页面

hadoop 2.2.X 配置参数说明:mapred-site.xml

原文:http://michaelkang.blog.51cto.com/1553154/1382816 <!--Thu Aug 15 20:47:13 2013-->  <configuration>    <property>    <name>mapreduce.task.timeout</name>    <value>600000</value>  </pro

2.2.2 Posix API与网络协议栈2

接上回2.2.2 posix api 2 传输数据 四线一⚪,kernel 协议栈 send- write, recv-read 如何知道send成功? 如果返回整数,只能证明data从user copy到内核kernel wmemory了 就是数据传输是异步的,send是从application copy到kernel,可能send多次,但是从kernel通过网络到另一台主机的ker

2.2.2 Posix API与网络协议栈 3

3 断开连接 四次挥手 不分客户端,服务器,只分主动方和被动方 主:tcp包里fin这一位 置1被:回,ack这一位 置1被: fin=1主:ack=1 与posix api关系,调用了close() ,不是网络的函数,是fd文件系统的函数 fd回收 发fin空包: close类似send,但是send一个final的空包 被动方recv返回0说明收到fin空包,知道结束了,那么调用c

2.2.2 Posix API与网络协议栈 1

课程链接地址 2.2.2 Posix API与网络协议栈 posix api: linux一开始仿unix不同版本,提供 操作系统——应用程序接口的标准上一次2.1.1的reactor.c优化1048576数组 1 建立连接,api 所有linux 上运行的都用的这些api,不管java还是python,底层linux的api都是一样的 服务端 socket()返回fd;bind绑定