有什么值得推荐的 Java、Web 练手项目?

“练手项目”是Java小白成长史中必要的环节,合适的项目需要同时达到知识总结、技术整合及业务积累等方面的作用。小白的成长是需要一个递进的过程的(正如软件项目的敏捷式开发,每一次迭代都是一次革新和升级),以下根据小白进阶的过程给出一些项目选型的建议(供参考):

1. 单层项目

技术点:Java语言基础、数据库基础(MySQL)、web前端(HTML/CSS/JS)、JSP、JDBC

项目选型:图书管理系统、汽车销售管理系统

说明:此阶段的项目可以说是一个“玩具项目”,使用JSP+JDBC完成项目的部分功能即可,旨在对基础开发技术进行应用,同时了解项目的开发过程、软件项目的基础结构,达到“窥一斑而知全豹”的目的。

2. 分层项目

技术点:JSP、Servlet、JDBC

项目选型:常见的各种管理系统(对单层项目进行升级)

说明:此阶段项目可以直接对单层项目阶段所开发的项目进行升级,包括分层和功能扩展;通过功能的扩展(如验证码、文件上传下载等)达到技术的应用目的,同时达到深入理解web项目的MVC分层思想的目的。

3. 企业级项目

技术点:Spring、SpringMVC、MyBatis、Maven、Git/SVN

项目选型:B2C电商类项目、微分销系统

说明:此阶段项目采用目前企业中比较流行的SSM架构完成,电商项目及微分销系统等都设计到较为复杂的业务逻辑与数据关系,在对SSM开发技术应用的同时通过此项目可以锻炼业务分析能力、数据库分析及设计能力;在条件允许的情况下,建议进行团队开发,多Git、SVN等项目管版本库管理要有熟练的应用。

4. 分布式项目

技术点:SpringBoot、SpringCloud、分布式数据库存储(Redis)、分布式技术、Vue、Nginx、CICD持续集成部署等

项目选型:金融类(典当、拍卖)项目、购票系统、仿携程旅游网等

说明:此阶段对项目进行微服务拆分同时使用分布式部署来满足互联网的高并发访问,通过此阶段项目深入理解微服务架构的意义及服务拆分原则,同时掌握分布式服务器及分布式数据库开发技术,提高解决互联网项目高并发问题的能力。

以上四个阶段项目有一个层级的递进关系,如果能够深入的理解并掌握以上四个阶段列出的技术点,并能独立的完成对应的项目,当然同时保持比较高涨的学习热情,我相信满足一般企业的初级需求应该是问题不大的。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190628A07V5U00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券