Code Monkey home page Code Monkey logo

springboot-vue3-bbs's Introduction

论坛项目第二次重构

寒假实在是在家没事,学校的项目觉得能力不足,不好意思接,然后只好再次重构写过的项目, 加上大三上就没怎么碰这个项目了,但期间看了不少技术文章,又学了点新知识。

后端变化

后端变化不算大。

1. 由单个模块变成多个模块

这样就是看起来层次更明了,但是切换模块要在src/main/java间来回展开切换,加上14寸笔记本还小,重构老费劲了

2. 新的项目目录结构

├── bbs-common		-- 存放通用的代码和工具类 
├── bbs-security	-- SpringSecurity相关模块 
├── bbs-service		-- 业务相关代码以及代码生成器 
└── bbs-web		   	-- web层主要就请求处理和全局异常处理  

3. 相关依赖的升级和改动

springboot从2.3.2RELEASE升到2.4.2,其他依赖的版本也更换到了最新(截至2021.1.25)

然后在安全认证框架把shiro替换成了spring-security。(官方starter太棒了!又精简不少代码!!)

4. 对写的不好的代码进行重构

如变量名不规范,采纳部分IDE提出的警告,优化能优化的代码,如各种工具类,切面类,百度翻译api的调用等

5. 增加了一些枚举

如返回状态码的枚举,提高规范性和可阅读性。

6. 项目的打包排除不必要的依赖

如lombok,模板引擎和一些代码生成器

7. 重新使用spring-devtools(热部署)

自动觉得热部署不好用,原来是没设置好。。。

8. 技术说明补充

  • Knife4j:接口的生成和在线调试,浏览器输入host:port/doc.html进行访问 官网 https://doc.xiaominfo.com/
  • Mybatis-Plus:Mybatis的增强工具。同时使用它的代码生成器 官网 https://baomidou.com/
    • 自3.3.0开始,默认使用雪花算法+UUID(不含中划线)数据库的主键需要 bigint(64)格式
    • js无法处理java的长整型,所以可以实体类中id字段可以把Long改成String 或者对全局jackon进行配置
    • 代码生成器中配置的表前缀为t_,数据库的表名为t_xxx
    • CodeGenerator类运行main方法,输入需要的表名,即可生成Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码
    • 对面Mapper接口使用@Autowired自动注入报红,可以忽视直接运行,也可以去Mapper头顶手动加入@Repository 或者用java自带的@Resource来替换@Autowried
  • Hutool:国产的一个小而全的Java工具类库 官网 https://www.hutool.cn/docs/
  • screw:简洁好用的数据库表结构文档生成工具 https://gitee.com/leshalv/screw
  • spring security: 以过滤器为主的安全认证服务框架

9. TODO

  • 重构用户模块
  • 重构签到功能
  • 重构点赞功能
  • 重构文件上传
  • 重构用户动态
  • 添加聊天功能

前端变化

变化很大

1. Vue全家桶都用最新的,新特性也能用就用

组合式Api真香,但是Vuex和Vue-Router最新官方文档还没有中文。。

2. UI组件库从又换成了Element的ElementPlus

从element-ui到ant-design-vue到ElementPlus

3. 添加主题切换功能

就用SCSS生成多套主题 样式

4. 页面美化

审美果然会一直提高的

5. 参考别的项目规范了代码风格

特别是Vue-element-admin

springboot-vue3-bbs's People

Contributors

somegenki avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.