• 二、SpringBoot自动装配及SPI的理解


            上一篇文章我们讲了Spring框架至SpringBoot框架的演进过程,今天我们来讲下SpringBoot框架自动装配的流程。

            学习任何一个技术,我们都需要了解这个技术背后产生的原理,了解了原理之后,这个技术你使用起来才会游刃有余。

            假如我们SpringBoot要集成Redis,我们应该怎么做呢?来,我们继续往下看。

    1.SpringBoot集成Redis

    1.1引入依赖

    1. org.springframework.boot
    2. spring-boot-starter-data-redis

    1.2写配置文件

    spring.redis.host=192.168.8.74

    spring.redis.password=123456

    spring.reids.database=0

    1.3通过@Autowired从IOC容器中取出Bean对象

    1. @RestController
    2. @RequestMapping("/redis")
    3. public class RedisController{
    4. @Autowired
    5. private RedisTemplate redisTemplate;
    6. @GetMapping("/save")
    7. public String save(@RequestParam String key,@RequestParam String value){
    8. redisTemplate.opsForValue().set(key,value);
    9. return "添加成功";
    10. }
    11. }

            通过上面的案例,我们应该能够看出来,RedisTemplate这个类的Bean对象,既没有通过XML的方式去注入,也没有通过注解的方式注入到IOC容器中,但是我们仍可以通过@Autowired注解自动从容器里面拿到相应的Bean对象,再去进行属性注入。

            那这是怎么做到的呢?接下来我们分析一下自动装配的原理,了解了自动装配的原理以后,自然而然就懂了RedisTemplate的Bean对象是如何而来的。

    2.自动装配原理

            1.当SpringBoot集成Redis的时候,我们只做了一步操作引入了包,那为什么能从IOC容器中拿到RedisTemplate的Bean对象呢?

            2.我们既没有手动添加配置,也没有手动添加注解,那肯定是自动注入到IOC容器中的。

            3.其实所谓的自动只是跟手动对比的,框架已经帮我们做好了,我们只是没有感知而已。

            4.那框架帮我们做了什么呢?框架是如何把RedisTemplate对象加入到IOC容器中的呢?

            5.猜测一下,肯定是基于Spring框架去做的。那RedisTemplate上面要不然就是有@Component注解,要不然就是有@

  • 相关阅读:
    成为一名优秀的测试工程师必备条件
    预约按摩app小程序开发搭建;
    php初级教程七 安全E-mail
    AttributeError: module ‘lib‘ has no attribute ‘X509_V_FLAG_CB_ISSUER_CHECK‘
    【Redis 开发】(长篇学习)掌握Redis的用法,各种客户端下的操作
    轻量封装WebGPU渲染系统示例<12>- 基础3D对象实体(源码)
    「Verilog学习笔记」用优先编码器①实现键盘编码电路
    FastBee商业版本源码获取下载
    SV基础知识---功能覆盖率 覆盖组、数据采样(语言部分)
    react组件多次渲染问题
  • 原文地址:https://blog.csdn.net/hanbingge123/article/details/128187141