手写机制和源码分析
文章平均质量分 95
其中手写了tomcat sprig springMVC mybits Spring-boot
尘觉
在编程的世界里,我相信每一行代码都是一次对未来的投资。
展开
-
分析SpringBoot 底层机制【Tomcat 启动分析+Spring 容器初始化+Tomcat 如何关联Spring 容器之源码分析
Overridetry {//严重分析,当父类完成通用的工作后,再重新动态绑定机制回到子类throw ex;finally {原创 2023-05-15 22:06:13 · 569 阅读 · 0 评论 -
Tomcatd的详细介绍以及--手写 MyWebServer.java
1. WEB,在英语中 web 表示网/网络资源(页面,图片,css,js)意思,它用于表示 WEB 服务器(主机)供浏览器访问的资源2. WEB 服务器(主机)上供外界访问的 Web 资源分为:- 静态 web 资源(如 html 页面):指 web 页面中供人们浏览的数据始终是不变。- 动态 web 资源,比如 Servlet(java)、PHP 等。原创 2023-04-15 06:51:39 · 316 阅读 · 0 评论 -
手动实现 Spring 底层机制 实现任务阶段一编写自己 Spring 容器-准备篇【1】
Spring的初始化 IOC容器+-依赖注入-+BeanPostProcessor 机制-+AOP实现原创 2023-05-03 08:21:22 · 1097 阅读 · 1 评论 -
手动实现 Spring 底层机制 实现任务阶段一编写自己 Spring 容器-准备篇【2】
到本文为止以及全部完成了准备了下一篇就开始正式手动实现 Spring 底层机制手动实现 Spring 底层机制【初始化 IOC容器+依赖注入+BeanPostProcessor 机制+AOP】系列手动实现 Spring 底层机制 实现任务阶段一编写自己 Spring 容器-准备篇【1】😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集🤔欢迎大家加入我的社区尘觉社区文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁。原创 2023-08-11 22:06:51 · 183 阅读 · 0 评论 -
手动实现 Spring 底层机制 实现任务阶段一编写自己 Spring 容器,实现任务阶段 2- 扫描将 bean 信息封装到 BeanDefinition 对象
本文完成了实现任务阶段 一 编写自己 Spring 容器,实现扫描包, 得到 bean 的 class 对象和实现任务阶段 2- 扫描将 bean 信息封装到 BeanDefinition 对象, 并放入到 Map下一阶段为 初始化 bean😉手动实现 Spring 底层机制【初始化 IOC容器+依赖注入+BeanPostProcessor 机制+AOP】系列手动实现 Spring 底层机制 实现任务阶段一编写自己 Spring 容器-准备篇【1】原创 2023-08-12 18:08:25 · 350 阅读 · 1 评论 -
手动实现 Spring 底层机制【初始化 IOC容器+依赖注入+BeanPostProcessor 机制+AOP】实现任务阶段 3- 初始化 bean 单例池 和 实现任务阶段 4- 完成依赖注入
本文完成了手动实现 Spring 底层机制实现任务阶段 3- 初始化 bean 单例池 和 实现任务阶段 4- 完成依赖注入后面会完成bean 后置处理器😉手动实现 Spring 底层机制【初始化 IOC容器+依赖注入+BeanPostProcessor 机制+AOP】系列手动实现 Spring 底层机制 实现任务阶段一编写自己 Spring 容器-准备篇【1】手动实现 Spring 底层机制 实现任务阶段一编写自己 Spring 容器-准备篇【2】原创 2023-08-13 12:26:44 · 157 阅读 · 0 评论 -
手动实现 Spring 底层机制【初始化 IOC容器+依赖注入+BeanPostProcessor 机制+AOP】之实现任务阶段 5- bean 后置处理器
本篇我们完成了bean 后置处理器是我们的手写进一步完善了手动实现 Spring 底层机制😉手动实现 Spring 底层机制【初始化 IOC容器+依赖注入+BeanPostProcessor 机制+AOP】系列手动实现 Spring 底层机制 实现任务阶段一编写自己 Spring 容器-准备篇【1】手动实现 Spring 底层机制 实现任务阶段一编写自己 Spring 容器-准备篇【2】原创 2023-08-14 09:00:40 · 201 阅读 · 1 评论 -
手动实现 Spring 底层机制【初始化 IOC容器+依赖注入+BeanPostProcessor 机制+AOP】之实现任务阶段 6- AOP 机制
import com//创建自己的容器 WyxSpringApplicationContext wyxSpringApplicationContext = new WyxSpringApplicationContext(WyxSpringConfig . class);原创 2023-08-14 16:44:21 · 157 阅读 · 0 评论 -
手动开发--简单的 Spring 基于注解配置的程序
自 己 写 一 个 简 单 的 Spring 容 器 , 通 过 读 取 类 的 注 解 (@Component @Controller @Service @Reponsitory),将对象注入到 IOC 容器。1. @Target(ElementType.TYPE)指定我们的ComponentScan注解可以修饰 Type程序元素。解读 path.replace("/",".") => com.spring.component.2. 获取类的完整的路径(全类名)2. 我们使用自定义注解来完成.原创 2023-05-01 13:07:34 · 742 阅读 · 0 评论 -
手动开发 简单的 Spring 基于 XML 配置的程序
1. 自己写一个简单的 Spring 容器, 通过读取 beans.xml,获取第 1 个 JavaBean: Monster 的 对象,并给该的对象属性赋值,放入到容器中, 输出该对象信息.3. 这里我们实现如何将beans.xml文件进行解析,并生成对象,放入容器中。系统会默认分配 id ,分配 id 的规则是 全类名#0 , 全类名#1。5. 这里就是一个开胃小点心, 理解Spring容器的机制。1. 这个程序用于实现Spring的一个简单容器机制。3. 可以了解 Spring 容器的简单机制。原创 2023-04-30 19:58:56 · 1492 阅读 · 0 评论 -
手动实现 Tomcat 底层机制+ 自己设Servlet 问题分析
我们的目标: 不用 Tomcat, 不用系统提供的 Servlet, 模拟 Tomcat 底层实现并能调用我们自己设计的 Servle, 也能完成相同的功能。● 说明: Tomcat 有三种运行模式(BIO, NIO, APR), 因为核心讲解的是 Tomcat 如何接。收客户端请求,解析请求, 调用 Servlet , 并返回结果的机制流程, 采用 BIO 线程模型来模拟.浏览器 http://localhost:8080/cal.html 1.Tomcat 底层实现 和 调用到 Servlet 流程?原创 2023-07-17 17:57:42 · 1022 阅读 · 0 评论 -
手动实现 Tomcat 底层机制+ 自己设Servlet实现v1-v2版本
● 说明: Tomcat 有三种运行模式(BIO, NIO, APR), 因为老师核心讲解的是 Tomcat 如何接。我们的目标: 不用 Tomcat, 不用系统提供的 Servlet, 模拟 Tomcat 底层实现并能调用我。收客户端请求,解析请求, 调用 Servlet , 并返回结果的机制流程, 采用 BIO 线程模型来模拟.实现任务阶段 2- 使用 BIO 线程模型,支持多线程。没有使用 BIO 线程模型,没有实现多线程,性能差。编写自己 Tomcat, 能给浏览器返回 Hi。原创 2023-04-17 22:32:28 · 836 阅读 · 0 评论 -
手动实现 Tomcat 底层机制+ 自己设Servlet最终版本V3
1.这里我们可以对客户端/浏览器进行IO编程/交互2.新增业务逻辑(1) 判断uri是什么资源 => 工具方法(2) 如果是静态资源,就读取该资源,并返回给浏览器 content-type text/html(3) 因为目前并没有起到tomcat, 不是一个标准的web项目(4) 把读取的静态资源放到 target/classes/cal.html过滤,拦截 , 权限等待 => Handler… => 分发。原创 2023-07-18 07:05:57 · 247 阅读 · 0 评论 -
分析SpringBoot 底层机制【Tomcat 启动分析+Spring 容器初始化+Tomcat 如何关联Spring 容器之手动实现
因为我之前的博客有手写Tomato Spring SpringMVC MyBits 机制所以这里就手写了Spring-boot这么去启动tomato的代码过程和他的原理。看看是否进行Spring 容器的初始化工作, 可以看到ac.refresh() 会将WyxConfig.class 中配置Bean 实例化装入到容器中.严重: Servlet [jsp] in web application [/Wyxboot] threw load() exception。原创 2023-05-15 22:38:18 · 1679 阅读 · 5 评论 -
自己实现 SpringMVC 底层机制 系列之搭建 SpringMVC 底层机制开发环境和开发 WyxDispatcherServlet
自己实现 SpringMVC 底层机制 系列之搭建 SpringMVC 底层机制开发环境和开发 WyxDispatcherServlet😉自己实现 SpringMVC 底层机制 核心分发 控制器+ Controller 和 Service 注入容器 + 对象自动装配 + 控制器 方法获取参数 + 视图解析 + 返回 JSON 格式数系列😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集🤔欢迎大家加入我的社区尘觉社区。原创 2023-05-06 15:28:53 · 575 阅读 · 0 评论 -
自己实现 SpringMVC 底层机制 系列之--实现任务阶段 2- 完成客户端浏览器可以请求控制层
try {printWriter.write("妖怪列表");本篇完成了任务阶段 2- 完成客户端浏览器可以请求控制层下一篇为实现任务阶段 3- 从 web.xml动态获取 wyxspringmvc.xml😉自己实现 SpringMVC 底层机制 核心分发 控制器+ Controller 和 Service 注入容器 + 对象自动装配 + 控制器 方法获取参数 + 视图解析 + 返回 JSON 格式数系列😁热门专栏推荐想学习vue的可以看看这个java基础合集。原创 2023-08-20 10:16:09 · 304 阅读 · 0 评论 -
自己实现 SpringMVC 底层机制 系列之--实现任务阶段 3- 从 web.xml动态获取 wyxspringmvc.xml
本篇完成了实现任务阶段 3- 从 web.xml动态获取 wyxspringmvc.xml下面就是实现任务阶段 4- 完成自定义@Service 注解功能😉自己实现 SpringMVC 底层机制 核心分发 控制器+ Controller 和 Service 注入容器 + 对象自动装配 + 控制器 方法获取参数 + 视图解析 + 返回 JSON 格式数系列第一篇->原创 2023-08-20 20:38:11 · 633 阅读 · 0 评论 -
自己实现 SpringMVC 底层机制 系列之-实现任务阶段 4- 完成自定义@Service 注解功能
功能说明: 如果给某个类加上@Service, 则可以将其注入到我们的 Spring 容器本文完成了实现任务阶段 4- 完成自定义@Service 注解功能下一阶段实现任务阶段 5- 完成 Spring 容器对象的自动装配 -@Autowried😉自己实现 SpringMVC 底层机制 核心分发 控制器+ Controller 和 Service 注入容器 + 对象自动装配 + 控制器 方法获取参数 + 视图解析 + 返回 JSON 格式数系列第一篇->原创 2023-08-21 16:44:57 · 476 阅读 · 0 评论 -
自己实现 SpringMVC 底层机制 系列之-实现任务阶段 5- 完成 Spring 容器对象的自动装配 -@Autowried
本文完成了实现任务阶段 5- 完成 Spring 容器对象的自动装配 -@Autowried 下面就是实现任务阶段 6- 完成控制器方法获取参数-@RequestParam😉自己实现 SpringMVC 底层机制 核心分发 控制器+ Controller 和 Service 注入容器 + 对象自动装配 + 控制器 方法获取参数 + 视图解析 + 返回 JSON 格式数系列第一篇->原创 2023-08-22 11:47:37 · 750 阅读 · 0 评论 -
自己实现 SpringMVC 底层机制 系列之-实现任务阶段 6-完成控制器方法获取参数-@RequestParam
本文完成了任务阶段 6-完成控制器方法获取参数-@RequestParam下一阶段完成实现任务阶段 7- 完成简单视图解析😉自己实现 SpringMVC 底层机制 核心分发 控制器+ Controller 和 Service 注入容器 + 对象自动装配 + 控制器 方法获取参数 + 视图解析 + 返回 JSON 格式数系列第一篇->自己实现 SpringMVC 底层机制 系列之搭建 SpringMVC 底层机制开发环境和开发 WyxDispatcherServlet_springmvc分发器。原创 2023-08-23 11:19:52 · 1074 阅读 · 5 评论 -
自己实现 SpringMVC 底层机制 系列之-实现任务阶段 7- 完成简单视图解析
本文完成了实现任务阶段 7- 完成简单视图解析下一阶段也是最后一阶段实现任务阶段 8- 完成返回 JSON 格式数据-@ResponseBody😉自己实现 SpringMVC 底层机制 核心分发 控制器+ Controller 和 Service 注入容器 + 对象自动装配 + 控制器 方法获取参数 + 视图解析 + 返回 JSON 格式数系列第一篇->原创 2023-08-24 08:49:38 · 867 阅读 · 1 评论 -
自己实现 SpringMVC 底层机制 系列之-实现任务阶段 8- 完成返回 JSON 格式数据-@ResponseBody
😉自己实现 SpringMVC 底层机制 核心分发 控制器+ Controller 和 Service 注入容器 + 对象自动装配 + 控制器 方法获取参数 + 视图解析 + 返回 JSON 格式数系列第一篇->自己实现 SpringMVC 底层机制 系列之搭建 SpringMVC 底层机制开发环境和开发 WyxDispatcherServlet_springmvc分发器第二篇->自己实现 SpringMVC 底层机制 系列之–实现任务阶段 2- 完成客户端浏览器可以请求控制层第三篇->原创 2023-08-25 07:55:42 · 1399 阅读 · 1 评论 -
深入解析:自己实现 MyBatis 底层机制的任务阶段1 - 读取配置文件与建立数据库连接
在本文中,我们成功完成了自己实现MyBatis底层机制的任务阶段1,即读取配置文件并建立数据库连接。我们创建了名为wyx_config.xml的XML配置文件,其中包含了数据库连接的必要信息。随后,我们编写了WyxConfiguration类,负责解析配置文件并根据配置信息建立数据库连接。通过详细的步骤和代码示例,我们展示了如何使用DOM4J库来解析XML文件,如何遍历XML元素并提取配置参数,以及如何使用DriverManager类来建立数据库连接。原创 2023-09-02 10:13:46 · 277 阅读 · 0 评论 -
深入实现 MyBatis 底层机制的任务阶段2 - 编写执行器与数据库操作
在本文中,我们成功完成了任务阶段2 - 编写执行器与数据库操作。我们创建了一个名为 WyxExecutor 的执行器实现类,该类负责接收 SQL 语句和参数,并执行数据库查询操作。通过详细的步骤和代码示例,我们展示了如何获取数据库连接、执行 SQL 查询,并将结果封装为对象。这一关键步骤为我们的自定义 MyBatis 底层机制提供了核心功能,使我们能够与数据库进行交互。下一步,我们将继续深入研究 MyBatis 的内部工作原理,逐步构建更多关键组件,以实现一个完整的自定义 MyBatis 底层框架。原创 2023-09-04 15:28:50 · 424 阅读 · 1 评论 -
深入实现 MyBatis 底层机制的任务阶段3 - 封装 SqlSession 到执行器
在本文中,我们成功完成了任务阶段3,将 SqlSession 封装到执行器中,实现了自己的 MyBatis 底层机制的关键一步。我们创建了 WyxSqlSession 类,作为连接 Configuration(连接)和 Executor 之间的桥梁,其中包含了执行 SQL 查询操作的方法。通过这一步骤,我们更深入地理解了 MyBatis 的内部工作原理,并成功地将 SqlSession 集成到执行器中,提高了框架的可用性和封装性。原创 2023-09-04 19:45:00 · 724 阅读 · 0 评论 -
深入实现 MyBatis 底层机制的任务阶段4 - 开发 Mapper 接口和 Mapper.xml
在本阶段,我们进一步推进了自己实现 MyBatis 底层机制的过程,着重关注任务阶段4 - 开发 Mapper 接口和 Mapper.xml。这一阶段的核心目标是定义 Mapper 接口以及对应的 Mapper.xml 文件,从而为数据库的 CRUD 操作提供清晰的映射和操作方式。我们创建了名为 MonsterMapper 的 Mapper 接口,其中声明了数据库的查询方法,如 getMonsterById。原创 2023-09-05 21:33:19 · 718 阅读 · 0 评论 -
深入实现 MyBatis 底层机制的任务阶段 5- 开发和 Mapper 接口相映射的 MapperBean
本阶段的主要任务是开发 Mapper 接口和 MapperBean 类。通过创建 Function.java 类,我们能够详细记录每个 Mapper 方法的信息,包括 SQL 类型、方法名、SQL 查询语句、返回类型和参数类型。而 MapperBean.java 类将这些方法信息进行封装,使我们能够更好地管理和映射 Mapper 接口的方法。这两个组件将为后续的数据库操作提供重要的支持和结构化管理。原创 2023-09-06 15:14:17 · 596 阅读 · 0 评论 -
深入实现 MyBatis 底层机制的任务阶段 6-实现任务阶段 6- 在 WyxConfiguration, 读取 XxxMapper.xml,能够创建 MappperBean 对象
在本示例中,我们演示了如何使用 Java 和 DOM4J 来创建一个简单的配置解析器,该解析器可以读取数据库映射配置文件并将其转化为 Java 对象。这个过程对于数据库操作的规范化和简化非常有帮助,尤其在大型项目中。通过将配置信息存储在外部文件中,我们可以轻松地更改数据库映射而无需修改 Java 代码,从而提高了代码的可维护性和扩展性。总之,配置解析器是许多 Java 持久层框架的核心组成部分,它们帮助我们将数据库操作与应用程序的业务逻辑分离开来,并提供了一种灵活且可维护的方式来管理数据库映射配置。原创 2023-09-08 15:29:44 · 775 阅读 · 1 评论 -
深入实现 MyBatis 底层机制的实现任务阶段 7- 实现动态代理 Mapper 的方法
通过本文,我们详细解析了如何创建一个简化版的MyBatis框架,通过动态代理来实现Mapper的功能。虽然我们目前只支持一个简单的select查询和一个参数,但这提供了一个很好的起点,可以进一步扩展来支持更复杂的查询和多个参数。注意这是一个简化的例子,实际的 MyBatis 框架将包含许多其他功能和优化,包括错误处理、事务管理和更多。但通过这个简化的例子,我们可以更好地理解MyBatis背后的一些核心概念和工作原理。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集。原创 2023-09-11 15:14:11 · 1061 阅读 · 3 评论 -
深入剖析:自己实现 MyBatis 底层机制的步骤与原理解析
Getter, Setter, RequiredArgsConstructor, ToString, EqualsAndHashCode, Value注解。应该对应不同的方法(多个方法) 根据不同的匹配情况调用不同方法, 并且还需要进行参数解析处理,还有比较复杂的字符串处理,拼接sql ,处理返回类型等等工作。4. 因为主要是讲解mybatis 生成mapper动态代理对象, 调用方法的机制,所以我做了简化。1. 如果要执行的方法是select , 就对应执行selectOne。原创 2023-05-10 17:17:40 · 446 阅读 · 2 评论