手写框架
文章平均质量分 79
小毕超
善于钻研思考,乐于追求新知识,热爱微服务架构,国内软考高级系统架构设计师职称,国际TOGAF鉴定级企业架构设计师、PMP项目管理师,华为云·云享专家,CSDN博客专家。曾获“联想杯”移动互联比赛 江苏省一和国二成绩,第四届全国应用型人才比赛“兄弟连杯”国一成绩。
展开
-
手写Mybatis SQL注解
手写Mybatis SQL注解一、效果演示数据库中有user表Mapper3.使用Mapper,添加数据查询一、实现1. 思路先模仿mybatis自定义自己的注解,并封装下数据库连接和数据操作的工具类。由于Mapper一般都为接口形式,就不能通过反射实例化对象去取每个方法,但可以通过java动态代理来拦截方法注解和返回对象结果,首先在动态代理的invoke方法中判断方法上是否含有SQL注解,如果含有SQL注解则再通过Method拿到参数里的Param注解,并根据注解内容作为k原创 2020-08-12 11:06:14 · 1393 阅读 · 0 评论 -
使用链表+数组,手写HashMap
使用链表+数组,手写HashMap在jdk1.7版本的HashMap 底层采用了链表+数组的方式实现数据的存储及扩容等,在jdk1.8后HashMap的底层换为红黑树+数组的方式。这边以链表+数组的方式模仿源码写一个自己的简易HashMap。一、效果演示其中初始容量设为的10,负载因子设定0.5,上面效果已有了扩容的效果。二、实现1. 思路因为是基于链表+数组实现的,所以要定义一个Node链表数组,有数组肯定需要定义数组的大小,这里默认是10,源码默认是16。看过源码的肯定知道还要设定一个原创 2020-08-13 09:51:09 · 1220 阅读 · 0 评论 -
手写MySQL数据库连接池
手写MySQL数据库连接池一、数据库连接池在内部对象池中,维护一定数量的数据库连接,并对外暴露数据库连接的获取和返回方法。如外部使用者可通过getConnection方法获取数据库连接,使用完毕后再通过releaseConnection方法将连接返回,注意此时的连接并没有关闭,而是由连接池管理器回收,并为下一次使用做好准备。二、线程池作用资源重用由于数据库连接得到重用,避免了频繁创建、释放连接引起的大量性能开销。在减少系统消耗的基础上,增进了系统环境的平稳性(减少内存碎片以级数据库临时进程、线原创 2020-08-11 15:58:52 · 740 阅读 · 1 评论 -
手写Spring事物注解
手写Spring事物注解在Spring中使用 @Transactional注解属于声名式事物,但我们要自己实现此类功能,就需要对编程试事物进行封装。一、效果演示首先在数据库新建了个user空表:在程序中添加两条数据,在中间抛出1/0的错误:执行后,查看数据库内容,已经插入了一条内容:加上自定义的事物注解:在此执行,查看数据库内容,已经回滚:二、实现1. 整体思路主要使用DataSourceTransactionManager事物源开启、提交、回归事物,使用自定原创 2020-08-11 10:50:44 · 1154 阅读 · 0 评论 -
手写SpringMVC框架
手写SpringMVC框架一、SpringMVC的运行流程用户发送请求至前端控制器DispatcherServletDispatcherServlet收到请求调用HandlerMapping处理器映射器。处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。DispatcherServlet通过HandlerAdapter处理器适配器调用处理器执行处理器(Controller,也叫后端控制器)。原创 2020-08-10 14:19:30 · 2468 阅读 · 0 评论 -
手写SpringIOC 框架
使用Java反射,手写SpringIOC 框架一、SpringIOCspring ioc指的是控制反转,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。交由Spring来管理这些,实现解耦。二、效果演示新建ModelService类,加上自定义注解@BXCService;新建UserService类,添加@BXCService注解,并引用ModelService,使用@BXCAutowired自动注入,然后再Test方法中直接调用ModelServer中的方法。原创 2020-08-09 19:01:45 · 2659 阅读 · 0 评论