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)
登录页面(为了演示可以加载本地资源)
loginpersons页面
persons其他
本项目参考了汇智网上的一个项目,从中学到很多。项目会不定期更新,欢迎关注。
本项目更大的用处是学习spring的思想,而不是要开发一个全新的web框架。
如果有需要,我可以写教程和思路,需要的请留言并到github star支持一下,我看情况决定是否要写。
网友评论
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2</version>
</dependency>
[INFO] -------------------------------------------------------------
[ERROR] /Users/benylwang/GitHub/bfmvc/bfmvc/src/main/java/cc/cleverfan/aop/proxy/ProxyChain.java:[4,26] 程序包net.sf.cglib.proxy不存在
[ERROR] /Users/benylwang/GitHub/bfmvc/bfmvc/src/main/java/cc/cleverfan/aop/proxy/ProxyChain.java:[18,19] 找不到符号
符号: 类 MethodProxy
位置: 类 cc.cleverfan.aop.proxy.ProxyChain
[ERROR] /Users/benylwang/GitHub/bfmvc/bfmvc/src/main/java/cc/cleverfan/aop/proxy/ProxyChain.java:[25,87] 找不到符号
符号: 类 MethodProxy
位置: 类 cc.cleverfan.aop.proxy.ProxyChain
[ERROR] /Users/benylwang/GitHub/bfmvc/bfmvc/src/main/java/cc/cleverfan/aop/manager/ProxyManager.java:[5,26] 程序包net.sf.cglib.proxy不存在
[ERROR] /Users/benylwang/GitHub/bfmvc/bfmvc/src/main/java/cc/cleverfan/aop/manager/ProxyManager.java:[6,26] 程序包net.sf.cglib.proxy不存在
[ERROR] /Users/benylwang/GitHub/bfmvc/bfmvc/src/main/java/cc/cleverfan/aop/manager/ProxyManager.java:[18,18] 找不到符号
符号: 类 MethodInterceptor
位置: 类 cc.cleverfan.aop.manager.ProxyManager
[ERROR] /Users/benylwang/GitHub/bfmvc/bfmvc/src/main/java/cc/cleverfan/aop/manager/ProxyManager.java:[17,20] 找不到符号
符号: 变量 Enhancer
位置: 类 cc.cleverfan.aop.manager.ProxyManager
[INFO] 7 errors