脚本宝典收集整理的这篇文章主要介绍了从零开始实现一个简易的Java MVC框架,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
前言
最近在看sPRing-boot框架的源码,看了源码之后更是让我感受到了spring-boot功能的强大。而且使用了很多的设计模式,让人在看的时候觉得有点难以下手。
不过仔细了解了一段时候发现,其实他的原理是很简单的,所以想要自己也动手实现一个功能类似的框架。一方面可以让自己在细节部分了解更深入,另一方面也可以给其他和我一样想要了解spring-boot原理,但是却被他复杂的设计模式吓到的人提供一些参考。
当然自己动手确实很难做到和spring-boot那样强大的功能,而且也为了避免过于使用设计模式而造成代码变得繁杂,我简化了很多过程和功能,使得主要的实现思想更容易得到理解。
本文会一步步讲解这个框架的实现过程,同时也会提及一些spring中经典的代码或者问题。
框架代码已经完成,如果不想看文章的话可以直接看我的项目代码,GITHub:doodle
主要实现功能:
@H_777_15@ Bean容器 IOC AOP MVC 目录
- 从零开始实现一个简易的Java MVC框架(一)--前言
- 从零开始实现一个简易的Java MVC框架(二)--实现Bean容器
- 从零开始实现一个简易的Java MVC框架(三)--实现IOC
- 从零开始实现一个简易的Java MVC框架(四)--实现AOP
- 从零开始实现一个简易的Java MVC框架(五)--引入aspectj实现AOP切点
- 从零开始实现一个简易的Java MVC框架(六)--加强AOP功能
- 从零开始实现一个简易的Java MVC框架(七)--实现MVC
- 从零开始实现一个简易的Java MVC框架(八)--制作Starter
- 从零开始实现一个简易的Java MVC框架(九)--优化MVC代码
框架成果
我们直接看一下完成之后的效果吧。
package com.sample.controller; import ... @Controller @RequestMapping(value = "/user") public class UserController { @Autowired private UserService userService; @RequestMapping(value = "/list", method = RequestMethod.GET) public ModelAndView getUserList() { List<User> list = userService.getUser(); return new ModelAndView().setView("user_list.jsp").addObject("list", list); } @RequestMapping(value = "/detail", method = RequestMethod.GET) public ModelAndView getUser(@RequestParam(value = "id") long id) { User user = userService.getUserById(id); return new ModelAndView().setView("user_detail.jsp").addObject("user", user); } @RequestMapping(value = "/add", method = RequestMethod.POST) @ResponseBody public Result<User> addUser(@RequestParam(value = "name") String name) { User user = userService.addUser(name); return new Result<>(user, 0, ""); } @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public Result<String> deleteUser(@RequestParam(value = "id") long id) { userService.deleteUser(id); return new Result<>("success", 0, ""); } }
@H_406_184@ 看UserController这个类不知道的以为这是一个spring-boot项目,但是这个确实没有引用spring,而是自己实现的框架。再通过我们的starter就可以启动内置的tomcat的服务器,访问我们的网站了。这一切都和spring-boot相似
package com.sample; import ... public class App { public static void main(String[] args) { Doodle.run(App.class); } }
接下来几篇就会讲解这个框架是如何实现的。
结语
本项目不仅参考了spring-boot,同时还参考了:
这些都是国人写的更轻量而且也很优秀的框架,相比spring-boot来说阅读源码的难度会小一些。感谢这些框架给我提供学习的思路,同时给我们更多的选择。
以上是脚本宝典为你收集整理的从零开始实现一个简易的Java MVC框架全部内容,希望文章能够帮你解决从零开始实现一个简易的Java MVC框架所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。