java从零开始搭建web项目


文章目录

  • java从零开始搭建web项目
  • 前言
  • 一、准备工作,开发环境搭建
    • 1.java
    • 2.java编程语言的集成开发环境 IntelliJ IDEA
    • 3.项目管理工具软件 Maven
    • 4.市面上最流行的数据库管理软件之一 Mysql
    • 5.可视化数据库管理工具 Navcat
    • 6.键值对缓存 redis
    • 7.其他
  • 二、技术栈选择
  • 三、项目搭建
  • 最后

前言

本人入行三年,自学c、c++、汇编等语言,后转Java入行,经验尚浅,是一码奴。受疫情影响,行业内卷,又听闻智能ai的蓬勃发展,预感互联网底层寒冬将续,前途茫茫。决定自己做个小网站,从零开始搭建web项目,对自己以往经验进行整合,总结,复习,查漏补缺。有错误或不足的地方,忘大佬不吝指点,感激不尽。


一、准备工作,开发环境搭建

准备工作:做项目,需要一个规划,首先是立项,你的项目是做什么的,预计规模,所需技术,如果公司和工作室,还要有市场调研等。
开发软件的安装,目前开发所用的开发软件,常用的有

1.java

常用选择是jdk8,记得注意小版本,有坑就出在版本问题上。
请认准LTS版本!不要生产上使用9、 10、12、13、14!!!

2.java编程语言的集成开发环境 IntelliJ IDEA

最近安装idea时发现,2020.3.4之后发布的版本需要登陆账号,2020.3.4之前的版本不需要登陆账号,根据个人选择或公司规定安装对应版本吧。
贴个官网版本选择的链接:https://www.jetbrains.com/idea/download/other.html

3.项目管理工具软件 Maven

项目管理很方便的软件,管理项目和添加jar包,如果是公司或工作室,下载安装后记得配置公司的setting.xml。
idea是自带了maven的,可以直接在idea里设置公司的setting.xml和本地仓库,就不用另行下载maven软件进行安装了。不设置就是默认配置

4.市面上最流行的数据库管理软件之一 Mysql

免费,开源,市场占有率高
也要注意版本选择,有坑

5.可视化数据库管理工具 Navcat

数据库的管理软件,管理数据库很方便,看数据也很直观,还有很多复杂的指令优化成了鼠标操作,比如建表、迁数据库。

6.键值对缓存 redis

也是种数据库,但基于键值对,内存存储和原子性,是个很好用的缓存工具,如分布式Session,分布式锁,计数,抽奖,以及消息队列等等功能

7.其他

其他为选择安装,不那么常用的软件

  • tomcat
    以前老的项目,有的需要tomcat。现在spring boot内嵌有tomcat。

  • Eclipse
    编程工具,有的公司好像不用idea,用这个

  • Git版本控制工具
    idea里继承也有,如果有其他习惯,也可自行安装
    不得不感叹,idea不愧是最好的编程工具,值得学习

  • RabbitMQ
    消息队列中间件,我只简单了解学习过,以前公司里是用redis做的,希望能把RabbitMQ提上去,在自己项目里用上,实际运用学习下。
    当然还有其他的消息中间件,如ActiveMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ等,根据公司规定,架构选型和个人习惯选用。

  • elasticsearch
    分布式搜索和分析引擎,基于倒排文档实现,根据业务选用

还有其他的工作中用到的软件,查看思维导图的软件,查看原型图的软件
全栈的话,还会包括前端的一些软件
后期需要用到其他软件在加上

至于下载安装**方法,网上一搜一大堆,这里就不再赘述

二、技术栈选择

常用:jdk8,redis,MyBatis-Plus,spring boot和Swagger。

  • MyBatis-Plus
    优秀的持久层框架,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集,MyBatis-Plus是MyBatis加强版,又免除了MyBatis复杂的xml配置
  • spring cloud
    spring cloud是基于spring boot整合强化的微服务框架。
    一般考虑项目大小和开发成本实际业务,选择单体或微服务。
  • Swagger
    在线生成接口文档,并且可以在页面上进行测试。

选用:Security、oauth2、jwt,微服务的话,还会涉及TCC事务框架
还有很多很多常见的技术和方案,可以评论区分享出来,一起学习

如果接手以前的老项目,还会遇到spring mvc架构

每个公司不一样,我以前公司是有自己封装的一套用户注册登陆jar包,依赖配置即可食用。分布式事务用自己基于redis封装的jar包实现。
还接手过项目,之前独立的多个项目,后来甲方要求多个项目间数据互通,最后公司是通过zookeeper进行协调
技术是死的人是活的,先看公司规定,架构师规划,再看个人习惯和预计成本,最后要考虑后期维护 再选择解决方案

三、项目搭建

搭建项目有很多方法,创建空白项目,自己搭建,或者以前的老项目copy过来改改,或者网上成熟的项目模板,比如:ruoyi框架http://www.ruoyi.vip/

接下来我介绍的是自己搭建项目

详细介绍搭建完整的Spring Boot项目


最后

新人签到,多多指教!
持续更新ing