1. springboot启动过程中,首先会收集需要加载的bean的定义,作为BeanDefinition对象,添加到BeanFactory中去. 由于BeanFactory中只有getBean之类获取bean对象的方法,所以将将BeanDefinition添加到BeanFactory中,是通过BeanDefinitionRegistry接口的void registerBeanDefinition(String beanName, BeanDefinition beanDefinition) t…
一.案例准备 1.创建数据表(employee表) 2.创建Employee实体类封装数据库中的数据 @AllArgsConstructor @NoArgsConstructor @Data @ToString public class Employee { private Integer id; private String lastName; private String email; private Integer gender; //1.男 2.女 private Integer dId…
问题 最近在使用RabbitMq时遇到了一个问题,明明是转换成json发送到mq中的数据,消费者接收到的却是一串数字也就是byte数组,但是使用mq可视化页面查看数据却是正常的,之前在使用过程中从未遇到过这种情况,遇到的情况如下所示: 生产者发送消息的代码如下所示: public void sendJsonStrMsg(String jsonStr){ rabbitTemplate.convertAndSend(JSON_QUEUE, jsonStr); } 消费者代码如下所示: @Rabbit…
转自 https://www.cnblogs.com/dylan-java/p/7450914.html 启动SpringBoot,需要在入口函数所在的类上添加@SpringBootApplication注解 1 @SpringBootApplication 2 public class Application { 3 public static void main(String[] args) { 4 SpringApplication.run(Application.class, args)…
BeanDefinition 继承图 继承的接口 BeanMetadataElement接口 将由承载配置源对象的bean元数据元素的类实现. 包含一个getSource的方法,可以获取到MetaData对应的配置类的类对象(class对象). public interface BeanMetadataElement /** * 返回此元数据元素的配置源{@code Object}(可以为{@code null}). * 如要配置的Bean类是A,那么getSource返回A.class */…
现在都是在springboot 中 集成 spirng,那我们就从springboot 开始. 一:springboot 启动main 函数 public static void main(String[] args) throws Exception { SpringApplication.run(AuditCenterWebApp.class, args); } 二:跟踪下来,会进入到springAppliaction  的 run(String... args) 方法. public Co…
我们知道BeanDefintion定义了Bean在IoC容器内的基本数据结构.在学习IoC之前先了解BeanDefition对我们理解IoC容器是有帮助的. 首先BeanDefinition是一个接口,继承了AttributeAccessor和BeanMetadataElement. 我们主要来学习下他的一个实现类,AbstractBeanDefinition. 这虽然是一个抽象类,但是提供了BeanDefinition接口的全部实现.是一个基本的框架.其子类有RootBeanDefinitio…
1.引入一下starter: web.cache.Mybatis.MySQL @MapperScan("com.everjiankang.cache.dao") @SpringBootApplication @EnableCaching //启用缓存 public class Springboot01CacheApplication { public static void main(String[] args) { SpringApplication.run(Springboot01…
一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot源码管中窥豹系列. 二.BeanDefinition spring帮我们管理bean,就是通过BeanDefinition实现的,要深研源码,就绕不开BeanDefinition 我们通过源码来看看BeanDefinition到底做了什么 三.源码分析 我们先看看这个类:BeanDefinition…
本篇我们在SpringBoot中整合Mybatis这个orm框架,毕竟分析一下其自动配置的源码,我们先来回顾一下以前Spring中是如何整合Mybatis的,大家可以看看我这篇文章Mybaits 源码解析 (十)----- Spring-Mybatis框架使用与源码解析 Spring-Mybatis使用 添加maven依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spri…