关于spring:摊牌了我要手写一个Spring-Boot

42次阅读

共计 2266 个字符,预计需要花费 6 分钟才能阅读完成。

目前的话,曾经把 Spring MVC 相干罕用的注解比方 @GetMapping@PostMapping@PathVariable 写完了。我也曾经将我的项目开源进去了,地址:https://github.com/Snailclimb/jsoncat。_原创开源不易,感觉不错的话,欢送给良心作者 1 个 star 激励一下!_

明天是晴天,我像平常一样坐在窗台,看着电脑“发愣”。毕竟是周末,就不分享技术干货了。

简略和小伙伴们聊聊本人最近正在做,曾经开始做的事件。

01 重构 JavaGuide

咱们常常会对本人晚期写的代码感觉恶心,这是导致很多我的项目烂尾、不好保护很重要的一个起因之一。

写作也是一样,我也常常感觉本人晚期写的文章像一坨翔。造成这个景象的起因很简略!我感觉次要可能有两方面起因:

  1. 本人积淀的常识更多,对于某个知识点的了解更加粗浅。
  2. 不同于其余类型文章,技术类文章自身就须要不断完善,文章内容才会更好。

所以,最近几个月我始终抽空对 JavaGuide 上晚期的一些文章进行大篇幅重构,比方 Java 根底、Java 汇合框架、Zookeeper、Redis 等等。

毕竟,工夫无限,本人也还是把次要精力放在写代码上。所以,局部文章还没有开始重构,比方数据结构局部的内容。

就十分期待小伙伴们一起奉献出本人的力量啊!让 Guide 哥 能多点工夫写代码,嘿嘿!

02 写了个简略的 RPC 框架

我在大学的时候,就应用过 Dubbo 这类 RPC 框架,对于 RPC 框架的原理也有一点的意识。

于是乎!疫情那会工作也不是很忙,我就想着说本人要不要也写一个 RPC 框架玩玩。

说做就做!前前后后花了 3 个月,我利用业余时间手写一个简略的 RPC 框架( 玩具 ),名字叫做 guide-rpc-framework。这个框架是基于 Netty+Kyro+Zookeeper 并且整合了 Spring 来做的。

讲真!的确,破费了不少精力。尽管,这玩意的原理不难,然而,想写好的确要花工夫。

目前的话,这个我的项目曾经有 0.7k 的 star。感激小伙伴们的反对!

像这样的开源我的项目,放到简历上相对是加分项!

而且,我在本人去写 RPC 框架的时候,加深了本人对于 RPC 框架原理的意识。具体落实到代码实现的过程中,遇到了很多问题,解决问题的过程中也进步了本人的编程能力和解决问题的能力。总而言之, 造轮子是一种特地可能进步本人零碎编程能力的伎俩。

03 写一个简易版的“Spring Boot”

是的!我筹备开始造下一个轮子了,一个简易版的“Spring Boot”!名字我都起好了,叫做“jsoncat”。

名字没有特地含意,只是因为这个框架目前定位是只返回 json 类型数据给前端,所以就在名字中加上了 json。

其实,说是简易版的 Spring Boot,不过是简略模拟 Spring Boot 提供的性能,本人手写一个相似的轻量级 HTTP 框架而已。( 性能、生态、稳定性等方面必定不能和 Spring Boot 比照啦!

具体实现的话,先简略聊聊,前面会独自写文章来分享。我会应用 Netty 来写一个繁难的 HTTP Server,次要用来解决 HTTP 申请。其余模块的话,我会在兼顾代码可读性的状况下,尽量减少第三方依赖。所以,整个框架会比拟轻量。

另外,代码也会尽量写直白点,不成心秀技。我也会将本人写这个繁难的 HTTP 框架学到的货色分享进去。当然啦!大家想要看源码的话,我也会将其开源。

写这个货色只是本人集体的兴趣爱好使然,次要也是为了进步本人的编码能力。举荐小伙伴们也要尽量可能将本人的想法付诸于口头。

实践诚然重要,然而脱离于实际的实践,并不牢靠。

相比于 CRUD,本人造个轮子,必定是更有意思,也更能锤炼本人的编程能力和解决问题的能力。

目前的想法是,第 1 版至多是可能让其正确处理 Get 申请 和 Post 申请。目前的话,我根本曾经写完了。相比于之前实现的 RPC 框架来说,这个总体来看,还是略微简略一些。

不过,大部分工夫还是在思考怎么让代码更强壮、更易读、更容易保护!

说句题外话,要想让代码更易读,除了要理解面向对象编程的思维之外,那必然少不了对设计模式的使用。

04 闲聊

当你们看到这篇文章的时候,我曾经出门和大学最好的敌人一起进来嗨皮了。

半年多没见,不晓得敌人当初长胖了不?反正,我是长胖了。

05 我的开源我的项目

  1. JavaGuide:「Java 学习 + 面试指南」一份涵盖大部分 Java 程序员所须要把握的外围常识。筹备 Java 面试,首选 JavaGuide!
  2. guide-rpc-framework:A custom RPC framework implemented by Netty+Kyro+Zookeeper.(一款基于 Netty+Kyro+Zookeeper 实现的自定义 RPC 框架 - 附具体实现过程和相干教程)
  3. jsoncat:仿 Spring Boot 但不同于 Spring Boot 的一个轻量级的 HTTP 框架
  4. programmer-advancement:程序员应该有的一些好习惯 + 面试必知事项!
  5. springboot-guide:Not only Spring Boot but also important knowledge of Spring(不只是 SpringBoot 还有 Spring 重要知识点)
  6. awesome-java:Collection of awesome Java project on Github(Github 上十分棒的 Java 开源我的项目汇合).

我是 Guide 哥,一 Java 后端开发,会一点前端,自在的少年。咱们下期再见!微信搜“JavaGuide”回复“ 面试突击 ”支付我整顿的 4 本原创 PDF

正文完
 0