自己动手模仿 springmvc 写一个 mvc框架
spring的知识那么多,看源码也不知从何看起,那应该怎么学呢?我觉得,完整的spring我们写不出来,但是一个简单的,我们还是可以实现的。自己动手去实现一个简单的spring,是学习它的最好的方式。
bfmvc
模仿springmvc的轻量级web框架,适合学习和搭建小型web项目使用,持续更新
项目地址:https://github.com/CFshuming/bfmvc
感兴趣的记得star哟~
目录介绍
- bfmvc: 框架源码。
- bfmvc-demo: 基于框架写的一个小demo。
- assest:demo截图。
功能
- 支持最基本的mvc模式,提供@Controller,@Service,@Autowired,@RequestMapping四种注解。
- 模仿springmvc,使用DispatherServlet控制路由。
- 支持简单的IOC。
- 支持jsp视图。
- 支持返回json数据。
- 支持自定义资源路径,jsp路径。
- 根据配置,自动扫描包。
项目采用jdk1.8编写,源码中用了1.8新特性。所以1.8以下版本的jdk不支持。
todo
- 代码提供更多注释。
- 支持多视图。
- aop支持。
- 更多。。。
如何使用
参考bfmvc-demo。在pom文件中引入bfmvc(没有放到maven中央仓库,需要引入本地的 bfmvc jar,可通过编译框架源码获得)
执行 mvn clean, mvn install.
将target目录下的xxx.war放到tomcat webapp 目录下, 启动tomcat访问即可。
效果(bfmvc-demo)
登录页面(为了演示可以加载本地资源)
persons页面
其他
本项目参考了汇智网上的一个项目,从中学到很多。项目会不定期更新,欢迎关注。
本项目更大的用处是学习spring的思想,而不是要开发一个全新的web框架。
如果有需要,我可以写教程和思路,需要的请留言并到github star支持一下,我看情况决定是否要写。
自己动手模仿 springmvc 写一个 mvc框架相关推荐
- 怎样自己写一个MVC框架
最近想学习php的mvc结构,在网上找了一些资料,可是大部分都是相同的,或者写的不是很满意.接着看了一个cakephp的框架,感觉太多的函数了,让人觉得就是一个记函数的过程,所以觉得不是很好. 我对m ...
- 自己动手写PHP MVC框架
自己动手写PHP MVC框架 来自:yuansir-web.com / yuansir@live.cn 代码下载: https://github.com/yuansir/tiny-php-framew ...
- 动手造轮子:写一个日志框架
动手造轮子:写一个日志框架 Intro 日志框架有很多,比如 log4net / nlog / serilog / microsoft.extensions.logging 等,如何在切换日志框架的时 ...
- 从零开始写一个RPC框架的详细步骤
http://blog.csdn.net/liu88010988/article/details/51547592 定位 所谓定位就是回答几个问题,我出于什么目的要写一个框架,我的这个框架是干什么的, ...
- B编码与BT种子文件分析,以及模仿json-cpp写一个B编码解析器
B编码与BT种子文件分析,以及模仿json-cpp写一个B编码解析器 1.什么是B编码 2.B编码格式 3.种子文件结构 3.1.主文件结构 3.2.info结构 4.简单的例子了解一下种子文件和B编 ...
- VS 如何创建一个MVC框架
VS 如何创建一个MVC框架 开发工具与关键技术:VS 如何创建一个MVC框架 作者:胡宁淇 撰写时间:2019年1月17日 ASP.NET 是一个使用 HTML.CSS.JavaScript 和服务 ...
- Day 2---vue2 从0开始 写一个前端框架
项目背景:vue2 业务需求:用Vue+Element 写一个前端框架 今日主线任务:完成静态登陆页面 项目地址: https://gitee.com/whwbs/my_project.git 准备工 ...
- 【RPC框架、RPC框架必会的基本知识、手写一个RPC框架案例、优秀的RPC框架Dubbo、Dubbo和SpringCloud框架比较】
一.RPC框架必会的基本知识 1.1 什么是RPC? RPC(Remote Procedure Call --远程过程调用),它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络的技术. ...
- 自己手写一个Mybatis框架(简化)
继上一篇手写SpringMVC之后,我最近趁热打铁,研究了一下Mybatis.MyBatis框架的核心功能其实不难,无非就是动态代理和jdbc的操作,难的是写出来可扩展,高内聚,低耦合的规范的代码.本 ...
最新文章
- .NET开发必备网址
- nginx配置图片防盗链
- centos6.5 安装docker方法
- 26.多线程join detach
- MVC自动配置原理---SpringBoot
- 如何提升python编程能力_Python编程小白如何提升自己的编程能力
- android 音频播放总结 soundlPool,MediaPlay
- mysql 常用命令的使用_MySQL基本命令
- 加密后变成乱码解密_个人磁盘加密软件,使用VeraCrypt进行整盘加密介绍
- 一次性输血器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- 18. PHP 表单验证
- 暗影精灵4如何调节风扇转速_关于解决暗影精灵4散热问题。
- 电磁铁基础知识介绍及各系列性能比较
- 计算机图形学 读书笔记(七)B样条曲线 B-Spline
- Anaconda3\Scripts\activate.bat 不是内部或外部命令,也不是可运行的程序的问题处理方法
- Java性能优化从20s优化到500ms,我用了这三招,内容知识满满
- 《 自动化测试最佳实践:来自全球的经典自动化测试案例解析》一一2.8 现状...
- 负数在计算机中的存储和表示
- Boost.Locale 之字符转换 gbk utf8 big5 string wstring等
- 常用单电源运放的偏置方法