《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)......

相关推荐
对象存储与RustFS1 小时前
跨实现迁移 MinIO→RustFS:mc diff 静默返回才是最容易翻车的一步
后端·rust·开源
吃饱了得干活1 小时前
Java 单点登录实战:一条主线看懂 Session 共享、CAS 与 OAuth2+JWT
java·后端
志尊宝1 小时前
Vue3 零基础每日笔记(046):声明式导航与编程式导航——useRouter / useRoute 双子星
vue.js·笔记·#vue #前端 #前端开发·#javascript·#vue.js
xiaoqiMikko1 小时前
Jetty 又出一条走私(CVE-2026-19203):官方叫升 9.4.64,而 9.4.64 在 Central 上是 404
java·安全
Web4Browser1 小时前
浏览器指纹逆向到底在分析什么:从 JavaScript 采集、Canvas 与 WebGL 到环境一致性校验
java·服务器·前端
M78佐菲1 小时前
ARM学习笔记(四)
linux·arm开发·笔记·嵌入式硬件·学习
RuoyiOffice1 小时前
SpringBoot3+Vue3 流程抄送已读:打开详情消红点,待办与知会怎么分开
spring boot·vue3·flowable·spring boot 3·ruoyi office·流程抄送·已读回执
kkkkkkkkkk_Z1 小时前
单片机|学习日记:单片机底层架构与寄存器操作全解析
linux·笔记·单片机·学习·51单片机
卷无止境1 小时前
Jev来了,一个不会说话的AI模型正在改写自动化的规则
人工智能·后端