新入职一家公司,接手了个从零开始的项目

news2024/11/28 14:07:47

开发流程

一个完整的从零开始开发的项目,会涉及到功能设计、数据库设计、项目框架搭建、接口设计与实现等流程,具体可以参考下图。

与我们后端开发有关的主要是功能设计、数据库设计、接口设计与实现这三部分,当然接口设计与实现中也包含项目框架的搭建。

技术选型

其实在项目初期,比如产品正在设计功能原型的时候,我们就可以开始搭建项目框架了。所谓的搭建项目框架,简单来说就是搭建项目的脚手架,主要是选用一些主流技术,来实现一些项目的基础功能,比如在项目中整合MyBatis、MongoDB、Redis来实现数据存储。当然你也可以实现一些通用的业务功能,比如你在做一个后台管理系统,可以实现一个通用的权限功能。

在进行技术选型的时候,我们需要选择一些主流的框架及版本,比如在我的mall项目中就选择了如下技术。

技术版本说明
SpringBoot2.7.5容器+MVC框架
SpringSecurity5.7.4认证和授权框架
MyBatis3.5.10ORM框架
MyBatisGenerator1.4.1数据层代码生成
RabbitMQ3.10.5消息队列
Redis7.0分布式缓存
MongoDB5.0NoSql数据库
Elasticsearch7.17.3搜索引擎
LogStash7.17.3日志收集工具
Kibana7.17.3日志可视化查看工具
Nginx1.22静态资源服务器
Druid1.2.14数据库连接池
MinIO8.4.5对象存储
Hutool5.8.0Java工具类库
PageHelper5.3.2MyBatis物理分页插件
Swagger-UI3.0.0文档生成工具
logstash-logback-encoder7.2Logstash日志收集插件
docker-maven-plugin0.40.2应用打包成Docker镜像的Maven插件

框架搭建

技术选型完成后,就可以进行项目框架的搭建了,在搭建过程中,有些技术我们可能并不是很熟悉,这时候我们需要先去学习这些技术,再把这些技术整合到我们的项目中去。

比如我们的项目中需要用到MinIO、Elasticsearch、RabbitMQ这些技术,如果我们之前没接触过的话,就得先学习下,最好自己实现个小的使用案例,把这个案例调试通了,再整合到项目中去。

以我的mall项目为例,在搭建项目的脚手架时,我经历了下面这个过程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/620127.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python如何快速SEO

Python如何快速SEO Python作为一种通用编程语言,广泛应用于各行各业,包括网站开发和SEO。SEO(Search Engine Optimization)是通过调整网站的结构和内容来提高其在搜索引擎排名中的位置,从而提高网站的流量和收益。Pyt…

【百问百答】可靠性基础知识第四期

1. IP等级的主要测试标准有哪些? 主要参考标准有GB 4208和IEC 60598, 其中也可以具体参考产品标准, 例如LED灯具参考标准为GB 7000, 汽车电子产品可以参考GB/T 28046.3等等。 2.IP等级可分为几个等级? 根据GB4208标准防止固定异物进入&…

阿里云 Serverless 容器服务全面升级:新增组件全托管、AI 镜像秒级拉取能力

6 月 1 日在阿里云峰会粤港澳大湾区上,阿里云智能云原生应用平台总经理丁宇宣布,Serverless 容器服务 ASK 全面升级,进一步帮助企业和开发者降本提效。 Gartner 曾预测,2023 年 70% 的 AI 应用将基于容器和 Serverless 技术开发。…

开源“上天入地”的本领都在这!2023 开放原子全球开源峰会「开源展览」一文拿捏!

2023 开放原子全球开源峰会 将于 6 月 11-13 日正式举办 开源领域新技术、新应用、新热点 Show Time! 前沿开源展览汇 互动体验项目 让每一位参会者融入开源技术新世界! 还有精彩的娱乐项目和丰厚礼品 一网打尽! 抢先揭秘,一…

【Springboot】基于AOP机制的前置通知以及Cookies记录用户操作日志

文章目录 前言1. 添加依赖2. 创建自定义注解LogAnnotation3. 创建日志记录类型3. 编写切面逻辑4. 完善切面层,获取详细的请求信息4.1 获取自定义注解上的属性值4.2 通过Cookies获取用户信息4.3 获取执行时间4.4 日志实体类以及对应数据库类型 5.最后实现的结果 前言…

Spring Authorization Server扩展实现OAuth2.0的密码模式

写在前面 Spring官方已经停止对Spring Security Oauth2的维护,项目和相关文档也被移除 Spring Authorization Server是官方新推出的OAuth2.1和OpenID Connect1.0的实现 两个主要的版本,0.4.x:jdk8。1.x: jdk17 这里用的版本是0.4.1 OAuth2…

A Comprehensive Survey of Neural Architecture Search: Challenges and Solutions

这是NAS综述系列的第二篇文章,针对《A Comprehensive Survey of Neural Architecture Search:Challenges and Solutions》的翻译。 神经架构搜索综述:挑战与解决方案 摘要1 引言1.1 动机1.2 我们的贡献和相关综述1.3 文章组织 2 早期NAS的特征3 优化策略…

SpringBoot之Spring Data JPA入门学习2

我们继续使用上一章的环境。SpringBoot之Spring Data JPA入门学习 一、自动生成数据 我们修改一下实体 增加了几个注解: CreationTimestamp 自动生成创建时间。 UpdateTimestamp 自动生成更新时间。 使用这两个注解我们还需要在类上加上两个注解DynamicInsert和…

【unity造轮子】排序排行榜的制作

List类中有一个【Sort方法】 可以非常快速的对【整数类】 或者【小数类】元素进行升序 public class TestCompare MonoBehaviour {public List<int>numbers;private void Start(){numbersnew List<int>(){20,10,30,70,60,40,50,90,80,100}:}private void Update()…

stable diffusion图片资源分享和模型推荐,好用的模型有哪些呢?

前言 这篇文章主要是分享我的图片和推荐一些好用的模型&#xff0c;模型不在多在于精&#xff0c;基于几个好的大模型适当下载一下LORA模型&#xff0c;就能画出非常好的图片&#xff0c;多话不说 图片分享 简单展示 详情请看&#xff1a;https://space.bilibili.com/109890…

Amazon Web Services (AWS)上的 OpenText 信息管理(IM) 解决方案

Amazon Web Services (AWS)上的 OpenText 信息管理(IM) 解决方案 OpenText 行业领先的信息管理(IM) 解决方案作为完全托管的服务提供&#xff0c;以 Amazon 公有云环境的安全性、可扩展性和性能为后盾&#xff0c;实现业务数字化转型并推动创新。 价值 降低运营成本30%以上&…

ldap服务安装,客户端安装,ldap用户登录验证测试

安装服务端 # 安装ldap服务 docker run -p 389:389 -p 636:636 \ --name openldap \-v /home/manager/testldap:/testldap \ --env LDAP_ORGANISATION"admin" \ --env LDAP_DOMAIN"hadoop.apache.org" \ --env LDAP_ADMIN_PASSWORD"Dmpxxx" \ -…

上周发布的Notes/Domino 12.0.2FP1以及REST API 1.0.4

大家好&#xff0c;才是真的好。 一段时间没见&#xff0c;有没有分外想念&#xff1f; 其实&#xff0c;我们每周都至少更新一篇&#xff0c;虽然今天是周日&#xff0c;可也是工作日啊&#xff0c;因此本周也算赶上发了一篇。 废话不多说&#xff0c;先上图&#xff1a; …

PMP证书含金量也太高了吧!在一线城市可享受多项福利~

近年来&#xff0c;企业与企业、城市与城市间的人才争夺变得更加激烈&#xff0c;各大城市为了泛集聚和培养重点领域紧缺专业人才均针对持有国际职业资格认证的人才出台了相关优惠政策&#xff0c;目前我了解到的已有以下5个城市针对PMP项目管理及相关行业和认证出台了鼓励政策…

2023-06-07:Redis 持久化方式有哪些?以及有什么区别?

2023-06-07&#xff1a;Redis 持久化方式有哪些&#xff1f;以及有什么区别&#xff1f; 答案2023-06-07&#xff1a; Redis提供了两种持久化机制&#xff1a;RDB和AOF。 RDB RDB持久化是将Redis当前进程中的数据生成快照并保存到硬盘的过程。快照指的是Redis在某一时刻的内…

2.5 TCP网络协议

一、TCP协议网络开发API 1、传输控制块&#xff08;TCB&#xff09; 传输控制块&#xff08;TCB&#xff09;是TCP协议的核心数据结构之一&#xff0c;它用于维护TCP连接状态和处理TCP数据传输。每个TCP连接都有一个对应的TCB&#xff0c;其中包含了该连接的相关信息&#xf…

地震勘探基础(十四)之地震反演

地震反演 反射波地震勘探主要是利用的是地下岩石的弹性差异特征&#xff0c;而弹性差异主要体现在波阻抗差异上。地震波垂直入射情况下&#xff0c;反射系数的公式告诉我们反射界面上下的波阻抗差异越大&#xff0c;反射系数越大&#xff0c;反射振幅也就相对较强。 利用反射波…

使用Hugo+Github从0开始免费搭建个人博客

环境搭建 一.安装git 以win11为例 1.注册git账号&#xff1a;https://github.com/并记住用户名和密码 2.下载地址&#xff1a;Git - Downloads (git-scm.com)鼠标右键显示Git Bash Here就表示安装Git成功了。 3.设置本地git用户 git config --global user.name "Your…

ROS 2 Humble 标定纠正畸变全景鱼眼展开网络摄像头

简介 本文使用 Ubuntu 系统,用 Python 开发 ROS 2 ,用 camera_calibration 功能包标定相机,用 OpenCV 读取视频帧和转换 ROS 2 图像话题,用 MediaMTX 搭建流媒体服务器, 用 FFmpeg 将视频帧输出为视频流。 最终效果: 环境准备 虚拟机 VMware Workstation 安装 Ubunt…

L9110S电机驱动模块demo

0.资料 项目工程文件夹 分文件原理 1.认识L9110S 1、概述&#xff1a; 一个L9110S驱动可以控制一个电机&#xff0c;图中左右两个黑色芯片就是L9110S驱动。当然如果会硬件也可以直接把它们设计到单片机开发板上。 一个电机由两个针脚控制&#xff0c;我们用杜邦线让L9110S…