栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

@SpringBootApplication中的注解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

@SpringBootApplication中的注解

  • @Inherited 指示自动继承注释类型(即子类可以继承父类)

接下来的三个注解是@SpringBootApplication的核心

  • @SpringBootConfiguration:

官方解释:指示一个类提供Spring Boot应用程序@Configuration。可以用作Spring的标准@Configuration注释的替代,以便可以自动找到配置(例如在测试中)。

应用程序应该只包含一个@SpringBootConfiguration,大多数惯用的SpringBoot应用程序将从 @SpringBootApplication继承它。(简单理解:@SpringBootConfiguration他其实就是标识一个配置类,在spring中@Configuration来标识一个注释类,而在springboot中就用@SpringBootConfiguration作为了替代 点进它的源码发现 它有@Configuration注解,可以理解就是继承了@Configuration)

  • @EnableAutoConfiguration: 自动配置,尝试猜测和配置您可能需要的bean

@import 导入的一个或多个@Configuration类,允许导入@Configuration类,importSelector和importbeandefinitionregistry实现,以及常规组件类,类似于AnnotationConfigApplicationContext.register,应该使用@Autowired注入来访问在导入的@Configuration类中声明的@Bean定义 (通俗理解就是把符合条件的类加载到IOC容器中)

  • @ComponentScan

!

【一线大厂Java面试题解析+核心总结学习笔记+最新架构讲解视频+实战项目源码讲义】

浏览器打开:qq.cn.hn/FTf 免费领取

[image.png](

)

可以指定basepackagclasses或basePackages来定义要扫描的特定类或者包,假设不指定,从声明该注释的类的包中进行扫描()

一般我们的启动类都是放在和服务层,控制层同一层级(即同一个包下),只要在启动类加了@SpringBootApplication注解,其中的@ComponentScan注解默认会扫描该注释的类同一个包下的所有,如图:则会扫描resume包下的所有

进一步?若存在多模块的调用,比如为了减少代码的冗余,我新建一个模块是放一些公共使用的类,例如统一拦截处理controller层的抛出的异常,对controller层返回的数据做统一处理,若每写一个模块就要写一次这个代码 就会重复,那单独成一个公共模块 应该怎么实现呢? @SpringBootApplication注解中的@ComponentScan只扫描他所在包的所有,那就需要把@ComponentScan单独的进行注解,此时外面的注解就会覆盖@SpringBootApplication注解中的@ComponentScan 把@ComponentScan单独出来 就会灵活许多

如下图:wxresume模块向使用publicapi模块的UnifiedAdivice统一处理controller层返回的数据,则是就需要在启动wxresume模块时 把publicapi模块中的Response包下的类扫描进去

如何扫描进去?在wxresume模块的启动类中加@ComponentScan注解 如图下:

@EnableEurekaClient

@MapperScan(“com.flscode.resume.mapper”)

@ComponentScan({“com.flscode.publicapi.Response”,“com.flscode.resume”})

@SpringBootApplication

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/356860.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号