Spring Boot深度实践之自动装配


Spring Boot深度实践之自动装配
本文插图
?转载本文需注明出处:微信公众号EAWorld , 违者必究 。
前言:
在Java服务端领域 , Spring框架已是声名远扬 , 人们在使用其强大功能辅助开发的过程中 , 却也渐渐感受到随着项目规模的扩大 , 需要引入的Spring相关配置也越来越多 , 令人不胜其烦 , 而由Pivotal团队基于Spring框架推出的开源轻量级框架Spring Boot , 就很好的解决了Spring时代项目配置繁琐的问题 , 至于Spring Boot是如何做到简化配置的 , 这就引出了我们今天的主题—Spring Boot自动装配 。
目录:
1、什么是自动装配
2、Spring Boot自动装配之前世今生

  • Spring Framework手动装配
  • Spring Boot自动装配
3、Spring Boot自动装配实践
1.什么是自动装配
在机械制造工程中 , 机器装配的自动化已在多年前运用到实际的生产线上 , 例如 , 生产一台电动机 , 大量的零部件生产出来后 , 如果仍由手工装配 , 则劳动强度大、效率低、质量也不能保证 , 在数控装配机、自动装配线等工业技术问世后 , 大量零件自动装配成一台合格的机器已成为现实 , 毫无疑问 , 机械制造领域的自动装配大大地提升了生产力 。
机械制造工程中的自动装配指的是零件直接自动组装成机器 , 同理 , 软件工程中的自动装配自然指的是软件模块之间的自动组装 , 最终成型一个完整的软件 。
那么在SpringBoot框架中 , 仅通过少量代码 , 就实现了Spring框架各个组件的自动组装 , 一个完整的服务端项目便被轻松构建出来 , 这 , 就是SpringBoot的自动装配 。
2.Spring Boot自动装配之前世今生
Spring Boot的自动装配源于Spring Framework的手动装配 , 在Spring Boot场景下 , 基于约定大于配置的原则 , 实现Spring组件自动装配的目的 。 其中使用了以下前三种Spring Framework手动装配技术:
底层装配技术
  • Spring 模式注解装配
  • Spring @Enable 模块装配
  • Spring 条件装配
  • Spring 工厂加载机制
所以要明白SpringBoot自动自动装配是如何实现的 , 就必须了解Spring Framework的手动装配 。
Spring Framework是一个强大的开源轻量级应用开发框架 , 主要用于Java企业开发 。 相信做Java Web开发的同学对它应该比较熟悉 , 那么上述几种Spring Framework的装配方式 , 其具体的使用又是如何呢 , 下面我们会一一介绍到 。
Spring Framework手动装配
Spring Boot深度实践之自动装配
本文插图
Spring模式注解装配(Stereotype Annotations)
  • 模式注解定义
定义:一种用于声明在应用中扮演“组件”角色的注解 。
怎么理解上述模式注解的定义呢 , 通俗的来讲 , 将一个Spring项目比作一座工厂 , 其创建的各种Java对象会被赋予不同的职责(即各种角色) , 这些Java对象就类似于流水线上的各类工人 , 各自负责一小段商品生产任务 。 各种流水线工人的职责可通过不同的工作服来标识 , 而在Spring Framework中 , Java对象的职责则由模式注解来标识 。
Spring Boot深度实践之自动装配
本文插图
上图为Spring官方文档中对于模式注解(Stereotype Annotations)的说明 , 可以看到 , @Component作为一种由Spring容器托管的通用模式组件 , 任何被@Component标识的组件均为组件扫描的候选对象 , 包括被@Component元标注的注解 , 当任何组件标识它时 , 也会被视作组件扫描的候选对象 。 以@Service为例 , 我们来看看它的源码:


推荐阅读