适合初中级Java程序员修炼手册从0搭建整个Web项目(一)
前言文本已收录至我的GitHub仓库 , 欢迎Star:种一棵树最好的时间是十年前 , 其次是现在
six-finger-web一个Web后端框架的轮子从处理Http请求【基于Netty的请求级Web服务器】 到mvc【接口封装转发)】 , 再到ioc【依赖注入】 , aop【切面】 , 再到 rpc【远程过程调用】最后到orm【数据库操作】全部自己撸一个(简易)的轮子 。
github
为啥要写这个轮子其实是这样的 , 小六六自己平时呢?有时候喜欢看看人家的源码比如Spring,但是小六六的水平可能不怎么样 , 每次看都看得晕头转向 , 然后就感觉里面的细节太难了 , 然后我就只能观其总体的思想 , 然后我就想我如果可以根据各位前辈的一些思考 , 自己撸一个简单的轮子出来 , 那我后面去理解作者的思想是不是简单点呢?于是呢 six-finger-web就面世了 , 它其实就是我的一个学习过程 , 然后我把它开源出来 , 希望能帮助那些对于学习源码有困难的同学 。 还有就是可以锻炼一下自己的编码能力 , 因为平时我们总是crud用的Java api都是那些 , 久而久之 , 很多框架类的api我们根本就不熟练了 , 所以借此机会 , 锻炼一下 。
特点
- 内置由 Netty 编写 HTTP 服务器 , 无需额外依赖 Tomcat 之类的 web 服务(刚好小六六把Netty系列写完 , 顺便用下)
- 代码简单易懂(小六六自己写不出框架大佬那种高类聚 , 低耦合的代码) , 能力稍微强一点看代码就能懂 , 弱点的也没关系 , 小六六有配套的从0搭建教程 。
- 支持MVC相关的注解确保和SpringMVC的用法类似
- 支持Spring IOC 和Aop相关功能
- 支持类似于Mybatis相关功能
- 支持类似于Dubbo的rpc相关功能
- 对于数据返回 , 只支持Json格式
使用Netty实现HTTP服务器Netty是一个异步事件驱动的网络应用程序框架用于快速开发可维护的高性能协议服务器和客户端 。 Netty经过精心设计 , 具有丰富的协议 , 如FTP , SMTP , HTTP以及各种二进制和基于文本的传统协议 。
Java程序员在开发web应用的时候,我们习惯于基于servlet规范 , 来做后端开发 , 就比如我们的SpringMVC其本质也是一个servlet,至于spring Webfux , 我不知道有多少公司使用了 , 但是目前为止2020 , 我们公司是没有使用的 , 这次呢我们就试试用Netty来实现一下 , 其实这个很简单 , 以前的我写Netty系列的时候 , 我已经写过了 , 大家可以去找找/six-finger
首先是创建项目因为我们这个是six-finger-web的第一篇 , 所以我尽量把点点滴滴做到
文章插图
首先创建一个maven项目 , 如果这个都不会的话 , 小六六建议先学习基础再来 , 在文章很多的地方 , 一些基础的小六六是默认你懂 , 如果有啥不懂的可以上github上找我联系方式 , 我如果有空会给大家解答的
- 创建pom.xml
4.0.0 com.xiaoliuliu six-finger-webjar1.0-SNAPSHOT org.projectlombok lombok1.18.12 providedcglib cglib3.1 io.netty netty-all4.1.51.Final
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 计算机专业大一下学期,该选择学习Java还是Python
- 未来想进入AI领域,该学习Python还是Java大数据开发
- 学习大数据是否需要学习JavaEE
- 从事Java开发时发现基础差,是否应该选择辞职自学一段时间
- 2021年Java和Python的应用趋势会有什么变化?
- 康宁列举蓝宝石玻璃种种缺点 不适合用于消费级市场
- 淘云科技吴玉胜:阿尔法蛋词典笔更适合中小学生使用
- 普通大学计算机专业的本科生,该选择主攻前端还是Java
- 小米11已变“真香”?先别急,这3款旗舰机可能更适合你
- 如何提供老年人适合的数字医疗?平安亮出“一碗汤”服务