一起来写个SpringBoot[0] — — 开篇

前沿

先附上项目地址: github - jsonboot

大概是去年七月开始,就有想写一个SpringBoot项目的念头,其一是为了能够更好了解SpringBoot的设计思想,提升自己的编码技术。其二是可以当作一个不错的个人项目,在找工作时也有底气在面试官面前…咳咳…懂得都懂。奈何当时事务缠身,计划一直搁浅到现在,才抽出空闲时间来完成这个目标。

在网上找了很多关于SpringBoot的搭建教程,但总是没有能符合心意的项目,后来在guide哥的公众号内找到了guide哥搭建的SpringBoot项目,我就以这个项目为蓝本,跟着guide哥的commit完成这个项目,期间按照自己的想法修改了一些内容,如Maven配置,IOC容器的实现,解决AOP-循环依赖的方式等。

项目做到最后自己也不敢相信,自己就零零散散的将这个项目大致完成了,虽然还有很多不足,也不能跟guide哥的原项目相比,但总归是一件比较有成就感的事!不仅收获了项目,还得到了知识,何乐而不为!

项目简介

项目以Maven为基础,使用Netty来实现Http服务器,实现了原SpringBoot的大部分功能注解,使用Json作为数据返回的格式。

项目会从最基础的搭建Maven依赖,实现Netty服务器,实现SpringMVC…等等一步一步的展现,等大部分的功能实现后,剩下的功能其实都可以在已有的基础上添加,照葫芦画瓢即可。

为了更加清晰可辨,在完成项目时我特意将不同的功能实现写在不同的Branch中,文章也会随着Branch进行循序渐进。
在这里插入图片描述
大兄弟们在搭建项目时也可以Clone一下代码,Checkout到特定的分支,每行代码基本都有详细的注释解释。相信以各位大兄弟的聪明才智,即使不看文章,也能清晰弄懂逻辑。

在这里插入图片描述

  • annotation —— 注解包,存放Spring、SpringMVC等相关注解
  • common —— 一些公共文件包,如打印等banner
  • constant —— 常量文件包
  • core —— 核心代码包,内涵IOC、AOP、SpringMVC等的具体实现
  • entity —— 对象实体包
  • exception —— 异常包,定义在项目运行过程中可能出现的异常
  • serialize —— 序列化包,使用的是json序列化
  • utils —— 工具类包,包括反射工具类等
  • JsonBootApplication —— run启动类,相当于是SpringBoot的SpringBootApplication,内置run方法启动
整体分为demo包和jsonboot包在这里插入图片描述

jsonboot的包的部分就是上述结构,demo包的结构就和平时使用的开发结构一致,当jsonboot是jar包导入直接用就行,就跟SpringBoot一样。

最后今天是4月1日愚人节~ 祝大家愚人节快乐吧!

猜你喜欢

转载自blog.csdn.net/qq_41762594/article/details/115368593