> 文章列表 > 传智健康项目总结

传智健康项目总结

传智健康项目总结

耗时一个半月终于把传智健康项目跟着做完了,下面是对项目的一点心得体会。

项目知识点总结

Maven中parent父工程聚合

  聚合模块(父工程)作用:父工程是一个pom工程,通常只是用来帮助其子模块构建的工具,本身并没有实质的内容。具体每个工程代码的编写还是在生成的工程中去写。所有的子模块都继承于父模块,父模块用来做整个项目的版本控制,也就是项目中所有要使用到的jar包的版本都集中由父工程管理。这样你在写其他工程pom文件中maven依赖时就不需要写版本号了。

注意:Maven的打包方式

  1. pom:父级项目的打包类型。用在父级工程或聚合工程中,用来做 jar 包的版本控制,必须指明这个聚合工程的打包方式为 pom。
  2. jar:默认类型,如果没写 packaging 标签,这默认打包 jar 包(内部调用或作为服务)。将会打包成 war,发布在服务器上的工程。
  3. war:Web应用程序。将会打包成 jar 用作 jar 包使用,在项目中,不指明的话,默认的就是打包成 jar 工程,我们也可以添加指明打包方式为jar。

Spring框架使用

具体参考MVC模式和三层架构:https://lushimeng.blog.csdn.net/article/details/125599211

  MVC 是一种分层开发的模式,其中:

  1. M:Model,业务模型,处理业务,应用程序的核心功能,管理这个模块中用的数据和值(bean,dao)。
  2. C:Controller,控制器,处理请求,调用模型和视图,对用户的输入做出反应,管理用户和视图的交互,是连接模型和视图的枢纽 (servlet/service)。
  3. V:View,视图,界面展示,管理模型如何显示给用户,它是应用程序的外观(jsp/html)。

表现层:SpringMVC框架Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

业务层:Spring框架:为了解决企业应用开发的复杂性而创建的一个开源框架,Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情,是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架

持久层:MyBatis框架MyBatis是一个基于Java的持久层框架,它消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和JavaPOJOsPlain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

传智健康项目总结

Zookeeper 与 Dubbo使用

Dubbo是一个RPC框架;

Zookeeper 一个最常用的使用场景就是用于担任服务生产者和服务消费者的注册中心。

这两个框架在项目中使用到了,但是具体原理还有待了解;

七牛云服务器 和 Redis

  在进行套餐添加的时候,会上传图片,图片需要存储到那里呐?这里使用的是七牛云服务器,提供一个月的免费存储空间。七牛云服务器如何与Redis进行结合的呐???

现实场景需求:在添加套餐的时候,需要上传图片,上传图片之后,图片会上传到七牛云服务器上,但此时我不想添加该套餐信息了,但是图片已经上传到七牛云服务器上了,浪费了存储资源,需要怎么办呐?

解决方法: 使用Redis创建两个表picInDb, picInQiNiu, 如果用户真正提交套餐数据到数据库中,则把图片的名称存入到表 picInDb中,如果提交了图片最后却取消提套餐信息,把所有的图片名称存入到表picInQiNiu中,这样我们通过两个表之间的差异就可以确定七牛云服务器上哪些图片资源是无效资源了,然后定时删除无效服务器上的无效资源就可以了。

个人收获

  1. 项目的配置文件是真的乱啊,有点麻烦哦;
  2. 对一个项目从无到有有了一个清晰的了解,后端大部分是增删改查,但是对于目前的我来说增删改查也是一个不小的挑战。后期需要重新学习一遍SSM框架,结合笔记理解。
  3. 目前阶段重在了解这样设计的思想,千万不要死记硬背,因为知识太多了你是记忆不过来的。
  4. 勤动手写代码,有思考的去写代码而不是照着抄代码。

后期计划

  通过本次项目发现了自己的不足,下面是4月-9月(最近5个月)的计划:

  1. LeetCode算法依然是重点;
  2. Spring、SpringMvc、MyBatis、SpringBoot是后端必备的框架,必须学透彻;
  3. 学习代码拉取工具Git;
  4. Java IO、线程以及集合学习;
  5. 并发编程和网络编程学习;
  6. JVM学习;
  7. Redis学习;