Spring Boot 最大的特点是无需 XML 配置文件,能自动扫描包路径装载并注入对象,并能做到根据 classpath 下的 jar 包自动配置。

所以 Spring Boot 最核心的 3 个注解就是:

@Configuration:

提到@Configuration就要提到他的搭档@Bean。使用这两个注解就可以创建一个简单的spring配置类,可以用来替代相应的xml配置文件。 这个注解类标识这个类可以使用Spring IoC容器作为bean定义的来源。@Bean注解告诉Spring,一个带有@Bean的注解方法将返回一个对象,该对象应该被注册为 在Spring应用程序上下文中的bean。

@EnableAutoConfiguration:

能够自动配置spring的上下文,试图猜测和配置你想要的bean类,通常会自动根据你的类路径和你的bean定义自动配置。

@ComponentScan:

会自动扫描指定包下的全部标有@Component的类,并注册成bean,当然包括@Component下的子注解@Service,@Repository,@Controller。

回去看看自己的项目,会不会发现启动类上面的注解难道不是核心注解吗。

再 说说@SpringBootApplication。

@SpringBootApplication

这是 Spring Boot 最最最核心的注解,用在 Spring Boot 主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。

其实这个注解就是 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan 这三个注解的组合,也可以用这三个注解来代替 @SpringBootApplication 注解。

点进注解进去看看源码,就知道了。

@Target(ElementType.TYPE) // 注解的适用范围,其中TYPE用于描述类、接口(包括包注解类型)或enum声明
@Retention(RetentionPolicy.RUNTIME) // 注解的生命周期,保留到class文件中(三个生命周期)
@Documented // 表明这个注解应该被javadoc记录
@Inherited // 子类可以继承该注解
@SpringBootConfiguration // 继承了Configuration,表示当前是注解类
@EnableAutoConfiguration // 开启springboot的注解功能,springboot的四大神器之一,其借助@import的帮助
@ComponentScan(excludeFilters = { // 扫描路径设置
@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {...
} 

这个 @SpringBootApplication 注解就包含了以上 3 个主要注解,平时没有自定义配置的需求,则使用 @SpringBootApplication 注解完全就可以了!

扩展一下:
Spring Boot 最核心的 25 个注解,都是干货!

springboot最核心的三个特有注解相关推荐

  1. springboot的核心

    1.SpringBoot核心原理 1.基于SpringMVC无配置文件(纯Java)完全注解化+内置tomcat-embed-core实现SpringBoot框架,Main函数启动. 2. Sprin ...

  2. SpringBoot四大核心

    SpringBoot四大核心 SpringBoot四大核心 1.自动配置 1.1application.properties配置文件 1.2application.yml配置文件 1.3applica ...

  3. springboot依赖lombok插件、lombok常用注解

    --springboot依赖lombok插件.lombok常用注解 1 lombok插件 1.1 lombok插件简介 官方介绍如下: 意思是:lombok是一个能自动插入到编辑器和构建工具的java ...

  4. SpringBoot整合Mongodb(三) 使用MongoTemplate进行连表查询

    SpringBoot整合Mongodb(三) 使用MongoTemplate进行连表查询 由于在实际开发项目中,突然涉及到了需要Mongodb 进行连表操作的业务,所以我在私下进行了一波学习. 服务器 ...

  5. Springboot的核心配置文件 作者:哇塞大嘴好帅(我爱大嘴网)

    Springboot的核心配置文件 作者:哇塞大嘴好帅(我爱大嘴网) ​ Springboot的核心配置文件 作者:哇塞大嘴好帅(我爱大嘴网) ZuiBlog ​ Springboot的核心配置文件 ...

  6. springboot读取配置文件的三种方式

    项目中springboot读取配置文件的三种方式: 1.使用Environment 2.使用@Value 3.使用@ConfigurationProperties注解映射到bean中,定义一个User ...

  7. SpringBoot整合Dubbo的三种(配置)

    SpringBoot整合Dubbo的三种方式 1.使用application.properties 1.提供者 2.消费者 2.使用dubbo.xml 1.提供者 2.消费者 3.使用注解配置 1.提 ...

  8. spring-boot框架dubbo在controlle中r注解@Reference注入service,但是调用方法时候,service报null空指针异常

    spring-boot框架dubbo在controlle中r注解@Reference注入service,但是调用方法时候,service报null空指针异常 参考文章: (1)spring-boot框 ...

  9. MongoDB:SpringBoot有关@Document(collection = )与@Document(collation= )注解的区别

    目录 QUESTION:SpringBoot有关@Document(collection = "")与@Document(collation= "")注解的区别 ...

最新文章

  1. 面试Java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备...
  2. 使用Docx4j操作PPT指南系列(附一)
  3. 简单电商购物过程(续1)
  4. 【渝粤题库】国家开放大学2021春3990产品管理题目
  5. html页面返回原理,浏览器输入URL到界面显示(HTML渲染)发生了什么?
  6. Java案例:HttpClient演示
  7. 银行理财子公司的“超级”玩法
  8. VOS3000 8.05安装及源码
  9. 双绞线有两种接法:EIA/TIA 568B标准和EIA/TIA 568A标准。
  10. oracle裁员原因_如何评价甲骨文(ORACLE)中国区裁员?
  11. 网工解惑:何为二层交换机,它与三层交换机的区别在哪里?
  12. 揭秘IBM架构设计方法论 —— Solution Design II
  13. Hibernate框架学习1
  14. 基于java springboot android 安卓记账本源码(毕设)
  15. 智能体:华为给时代炼一炉钢
  16. mtk8127 bt sco 路径
  17. matlab函数用法
  18. java 微信服务器录音下载到自己服务器,并转为wav格式
  19. 推荐一些高效率的PC软件
  20. 嵌入式系统开发笔记77:认识电磁波

热门文章

  1. 闲话Google拼音输入法及其它(一)
  2. 翻牌游戏如何打乱牌面java_阴阳师:彼岸花——游戏中最初的“人权卡”,现在的实力如何?...
  3. 2021年危险化学品经营单位安全管理人员考试内容及危险化学品经营单位安全管理人员考试资料
  4. C/C++语言100题练习计划 84——分数线划定(结构体+快排函数)
  5. python提取微信聊天语音_利用Python进行微信,QQ的语音识别!内部技术的延伸版!...
  6. 如何在 SubSystem for Android 上安装应用?
  7. 国际版抖音加群 振兴中华
  8. html2canvas+高德地图 截图底图空白问题
  9. MEMOS 技术支持
  10. java基础练习—逢七游戏、不死神兔、百钱百鸡、利滚利