《Spring Boot 3:高级与架构设计》第 1 章 元编程与元信息 个人理解 1

《Spring Boot 3:高级与架构设计》第 1 章 元编程与元信息 个人理解 1

1 什么是元

​"元" 这个概念可以用来解释或者定义一个概念。

例如使用性能的高低描述计算机的运行速度,性能具体表示什么,

解释性能具体表示什么的概念,就是元。

2 什么是元编程

理解元编程前,先理解编程的概念,编写代码实现需求的过程称为编程。

元编程指的是通过提前编写好的程序去编写代码实现需求的过程。

例如,基于 MyBatis CRUD(增删改查)场景的代码生成器就是元编程的一种体现,通过读取数据库表结构生成相应的 PO、Mapper 等基础代码。

3 什么是配置源

配置源及配置的来源。

在基于 Spring Framework 的案例中,驱动 IOC 容器有两种常见的方式,基于 XML 配置文件和基于注解配置类。XML 配置文件和注解配置类就是 IOC 容器的配置源。

在基于 SpringBoot 的案例中,通常使用注解配置类和自动配置类完成组件注册。注解配置类和自动配置类就是 SpringBoot 工程的配置源。

(自动配置类在具体的代码编写上与常规的注解配置类大体没有区别,只是标注配置类的注解由 @Configuration 变为 @AutoConfiguration,并且可以在类上声明当前类生效的条件等。)

4 什么是元信息

元信息也叫元定义。元信息就是定义信息,例如对象的元信息即对象的定义信息,例如类中包含对象的定义信息。

按照 【1 什么是元】中的理解,定义的定义就是元信息。

例如张三的定义是,属于 Person,name 是张三,age 是18,gender 是男。

那么 Person 的定义就可以理解为,Person {name, age, gender} ,Person 类型有 name, age, gender 三个属性。

Person {name, age, gender} 就是张三的元信息。

结合 Java 面向对象编程思想,

Person 是类,张三 Person 类的一个对象,Person 中包含张三的元信息,即类中包含对象的元信息。对象的元信息即对象的定义信息。

类中包含对象的元信息,那么谁包含类的元信息,Java 中有一个类就叫做 Class,包含类的元信息,类的元信息即类的定义信息。

5 Bean 的元信息是什么

跟 Class 包含类的元信息类似,在 Spring Framework 中,BeanDefinition 包含 Bean 的元信息,即 BeanDefinition 包含了 Bean 的定义信息。

Bean 的定义信息包括:

(1)Bean 的全限定名(className)​;

(2)Bean 的作用域(scope)​;

(3)Bean 是否延迟加载(lazy)​;

(4)Bean 的工厂 Bean 名称(factoryBean)​;

(5)Bean 的构造方法参数列表(constructorArgumentValues)​;

(6)Bean 的属性值(propertyValues)​。

(7)......

相关推荐
云和数据.ChenGuang6 小时前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制
java·开发语言·人工智能·python·langchain·1024程序员节
摇滚侠7 小时前
《On Java 中文版 基础卷》阅读笔记 实现隐藏 12
java·数据库·笔记
Cosolar9 小时前
不收费、不加水印、数据归你:我做了个开源的在线简历工具
后端·面试·前端框架
silvamux_9 小时前
10款模型写种草笔记:可发布性、返工来源与成本数据缺口复盘
java·数据库·笔记
蒸蒸yyyyzwd10 小时前
kafka、redis、mysql不熟悉问题总结
笔记·八股
hgy896910 小时前
深度学习(小白笔记)——迁徙
人工智能·笔记·深度学习
步行cgn10 小时前
StringHttpMessageConverter 详解:Spring MVC 中字符串读写的默认转换器
java·spring·mvc
摇滚侠10 小时前
《On Java 中文版 基础卷》阅读笔记 实现隐藏 11
java·笔记·python
小蒜学长10 小时前
基于Spring Boot+Vue3的在线医疗咨询系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·在线问诊·在线医疗咨询系统
Deng桑10 小时前
SpringAI写第一个Agent-把工单循环跑起来
java·agent·工具调用·spring ai