JAVA项目环境必知必会–【大作业及毕设项目】
文章目录
JAVA毕设项目一般所使用的技术

所以,学习东西要系统一些,如果基本功不够,那后面的技术就会学的很浮。
可以略过或浅尝辄止的技术
这个图中:看上去是过渡技术但是事实上在工作中用不到的:
springBoot里的技术本来就很多了,如果一股脑的扎进来,那有可能是撞的一头的包。
- 无页面的 SpringBoot 的类的注入,配置等技术。(简单地过一遍就好)
- JPA 技术 看上去应用面更多,但是问题是当大厂小厂都要求Mybatis 之后,其实JPA没有意义,小厂会使用Mybatis Plus 要注意的是这个并不是Mybatis 的升级,这只是Mybatis 的国内的再一次封装。
- jdbc Template 这个是为了适应更多的数据库,如果项目中使用了国内的数据库,那么很有可能会用到这个技术,其它的项目,0.1%的可能用得到。
- Thymeleaf 技术。非前后端分离,而且还是在国产的前后端分离完全流行之后,spring团队推出来的技术。在国内一点市场没有,在国外,可能市场不少。
最最典型的就是使用layui 也是前后端分离,非VUE。
基于Spring Boot的大学宿舍管理系统【大作业及毕设项目】
还有就是使用VUE做前端的,
那项目就多了,可以说是遍地都是。项目的总目录文章如下:
JAVA项目环境必知必会–【大作业及毕设项目】
JAVA环境及工具:
本系列环境
| 环境 | win11 | 安装博文 | B站视频地址 |
|---|---|---|---|
| 工具 | idea 2020 | Idea2020安装详解以及JAVA项目技术讨论-【JAVA环境】 | 【JAVA环境】介绍IDEA 2020的下载以及安装 |
| jdk | JDK1.8 | JDK安装详解以及JAVA项目技术讨论-【JAVA环境】 | 【JAVA环境】jdk安装及配置 |
| 数据库 | mysql5.5 | mysql安装超详细步骤(保姆级教程)以及JAVA项目技术讨论-【mysql数据库】 | |
| maven | 3.6.0 | Maven安装超详细步骤(保姆级教程)以及ANT讲解 | 【JAVA环境】tomcat,Maven安装与配置 |
| WEB服务器 | tomcat | tomcat安装超详细步骤(保姆级教程) | 【JAVA环境】tomcat,Maven安装与配置 |
| 数据库前端工具 | mysql-front | ||
| 数据库前端工具 | navicat | ||
| 其它 | lombok(低版本的idea上需要) | 【JAVA环境】在idea里碰到get/set编译的错误(lombok安装) |
数据库前端工具:mysql-front (navicat 也可以)
主要是这些跟PHPStudy 2018 整合了,所以有的时候懒的打开navicat
关于环境的重要性,直接看上面的《SpringBoot 的项目编译即报错处理–JSB系列之001》
数据库前端工具:mysql-front (navicat 也可以)
主要是这些跟PHPStudy 2018 整合了,所以有的时候懒的打开navicat
关于环境的重要性,直接看上面的《SpringBoot 的项目编译即报错处理–JSB系列之001》
如果基础不牢,要回避的知识
假定,你在学校做过了JAVA的小项目了。(我指的是swing,servlet 之类) 可能会点SSM,也可能不会,那我马上就要毕业了,我得搞项目,搞毕设呀。啊!!!
- 第一个要回避的就是JWT。
- 上面的不使用了,shiro 也就不需要了
- 然后是redis
说一下理由。第一,你一个人使用的系统,你用啥JWT?Session. cookie , JWT 都是你一个人在用。完全不存在用户信息泄漏。
单点登录就更用不上了。一共就一个系统。
redis 也不需要,别说你一个人在使用,就是全班的人都在使用50人在线,redis 的优势也自不出来。mysql 数据库连这一点点的数据都不能快速响应,那PHP的平台的不是要直接宕机?而且mybatis 本身还有缓存。
当然了,这是指你自己要把代码弄懂的这个前提下说的。
但是问题是开源项目是别人的运行好的。那用啥环境也不是你能决定了,是吧?
我说的是如果:
你能选择的话,那你的JAVA毕设用JAVASpringBoot+layui + 微信小程序
这样跑的又轻松,又紧跟时代潮流,学起来也快。
Idea2020安装详解
为什么是idea?
总的一句话就是,大家都用!!
自从idea 出了社区版(免费)eclipse 用的人就越来越少了。因为SpringBoot 的项目用社区版(免费)就足够用了。
IntelliJ IDEA 是由 JetBrains 开发的一款广泛使用的集成开发环境(IDE),专为提高开发者的生产力和代码质量而设计。作为一个强大的多语言 IDE,IntelliJ IDEA 以其智能代码补全、代码分析和重构功能而闻名。IntelliJ IDEA 提供了强大的调试工具、版本控制集成(如 Git、SVN 和 Mercurial),以及丰富的插件生态系统,使得开发者能够根据需要扩展和定制其功能。此外,IntelliJ IDEA 拥有直观的用户界面和高度可配置的工作环境,支持快速导航和高效的代码编辑,适用于从小型项目到大型企业级应用的开发。这些特性使得 IntelliJ IDEA 成为了众多开发者的首选 IDE。其社区版(免费)和终极版(付费)满足了不同层次开发者的需求。
那为什么用2020的版本呢?
其实我也推荐2018的版本,主要就是怕初学者要用到终极版(付费)里的功能。
网上的那种(解除试用限制)文件多,BUG少。
一般的学校学习JDK都是使用8.0(也就是JAVA8,或JDK1.8)
在我的大量的项目(使用springBoot ) 都是用的idea2018 或idea2020
2017年,发布 IntelliJ IDEA 2017.1,全面支持 Java 9,新增对 JavaScript 和 TypeScript 的支持,强化了前端开发能力。
2019年,IntelliJ IDEA 2019.1 发布,支持新的 Java 12 特性,改进了版本控制和数据库工具。
2020年,IntelliJ IDEA 2020.1 推出,支持 Java 14 和最新的 Spring Framework 特性,提升了代码导航和错误检测功能。
我使用idea2018 的原因主要是因为有一个插件。
这个插件可以方便的找到springBoot 项目里的controller 类,POM文件,与mybatis 的mapper 文件,如下图所示:

就算我直接使用idea2020 一般情况下,我也是先安装idea2018,然后再安idea 2020。
这个插件很有趣,支持idea 2018的idea-theme插件(对应版本) 是免费的。
而支持idea 2020 的idea-theme插件(对应版本)是收费的,
但是如果先安装idea 2018 + idea-theme插件
再安装idea 2020 的时候,这件插件能升级上去。这个就有点神奇了。
反正比原来的IDEA要好象了就是了。

1.下载安装程序
如果是idea2018的话,那直接去我的资源包里下载得了。怕你选择了其它的版本会有插件安装不上去的问题。
要是idea2020的话。去这个官网地址:
https://www.jetbrains.com/idea/download/?section=windows

来到这个页面
https://www.jetbrains.com/idea/download/other.html


2020.2.3的这个版本,可以用,但是如果是使用JAVAWEB 或springBoot 那种不是JAR方式的项目,偶尔会有一个小BUG。就是有一些编译的错误,你明明改过了,在idea 的工具里还是显示报错,
你需要把idea 关掉,再打开,显示又好使了。(原因不详)也可能是我的那个特别包有问题。
我使用的版本(注意小版本号)

2.安装 Idea2020.1.3
一旦下载完成,你需要双击打开这个安装包,以启动Idea2020.1.3的安装程序。接下来,你可以按照安装向导的指引,逐步完成Idea2020.1.3的安装过程。
可以对照着B站的视频一步步的操作。

点击下一步(N)。


安装路径选择,个人建议安装在D盘的JetBrains目录

若需更改idea的安装路径,请在安装过程中随时调整,在安装路径选择步骤中,你可以选择默认路径或自定义安装路径。在选择了新的安装路径后,请点击“下一步”以继续安装idea。


安装完了之后,当然要进行一些必要的补充设置。打开项目等等。
视频的后面还介绍了一些有趣的东西。
比如这个studio one的变声插件。
3.测试配置结果
在完成配置后,为了确保一切正常,我们需要进行一些基本的测试。比如打开一个JAVA 的项目。
可以去我的GITEE的码云上面找开源项目。
很多的项目很适合做JAVA方向的大作业或毕设。

项目里可能要用到的技术
前后端分离
这是一个好技术。前后端分离的主要概念就是:后台只需提供API接口,前端调用AJAX实现数据呈现。 现状与分歧. 作为一名前端开发人员,我们应该尝试一些新颖的技术,完善每一个细节,后端的开发人员就无脑疯狂的输出json。
在传统的web应用开发中,大多数的程序员会将浏览器作为前后端的分界线。将浏览器中为用户进行页面展示的部分称之为前端,而将运行在服务器,为前端提供业务逻辑和数据准备的所有代码统称为后端。
难不难工作量是不一定,但是,两边的难度是真的降了。
后端的只用idea community IDEA社区版(Community)版本就足够。前端高级的玩玩webStorm,不行用hbuilder,vscode 好象都能写代码。甚至还有人用editplus ++ , nodepad 之流了,这就有点过份了哈。
json
JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写。
这个东东一出来就直接把xml 的这种格式按地上摩擦了。而且可以可读性好,也把一些不可读的数据包形式也给取代了。
其它的必要知识
- 网页三剑客,这个不用说了
- JAVA,你总得会idea吧
- maven 这个也是必须的
配置文件
这个项目的重点是配置文件,因为这个项目使用的springboot + mybatis 并非是mybatis plus。
POM
<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
<relativePath />
<!-- lookup parent from repository -->
</parent>
<groupId>com.jlwl</groupId>
<!-- 导入项目的名称 -->
<artifactId>springbootj470j</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot-schema</name>
<description>springboot学习框架</description>
<properties>
<java.version>1.8</java.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>
<dependencies>
<!-- FastJson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.8</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatisplus-spring-boot-starter</artifactId>
<version>1.0.5</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.0.12</version>
</dependency>
<!-- 百度人工智能 -->
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>4.4.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
yml配置
从yml 文件里也可以看出mybatis-plus 与mybatis 的配置是不一样的
# Tomcat
server:
tomcat:
uri-encoding: UTF-8
port: 8080
servlet:
context-path: /springbootj470j
spring:
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/mingsu?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
username: root
password: 123456
# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
# url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=springbootj470j
# username: sa
# password: 123456
servlet:
multipart:
max-file-size: 10MB
max-request-size: 10MB
resources:
static-locations: classpath:static/,file:static/
#mybatis
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
#实体扫描,多个package用逗号或者分号分隔
typeAliasesPackage: com.entity
global-config:
#主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
id-type: 1
#字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
field-strategy: 2
#驼峰下划线转换
db-column-underline: true
#刷新mapper 调试神器
refresh-mapper: true
#逻辑删除配置
logic-delete-value: -1
logic-not-delete-value: 0
#自定义SQL注入器
sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
configuration:
map-underscore-to-camel-case: true
cache-enabled: false
call-setters-on-nulls: true
#springboot 项目mybatis plus 设置 jdbcTypeForNull (oracle数据库需配置JdbcType.NULL, 默认是Other)
jdbc-type-for-null: 'null'
AI推荐的JAVA学习路线:
以下是系统化的Java基础学习路线图,结合主流技术栈及企业需求整理,共分四个阶段,配有学习要点和资源推荐:
一、Java语法与编程基础(1-2个月)
目标:建立编程思维,掌握核心语法
基础语法:变量/数据类型、运算符、流程控制(if/for/while)、数组
面向对象(OOP):类与对象、封装/继承/多态、抽象类/接口
常用类库:String/StringBuilder、集合框架(List/Set/Map)、异常处理
工具:熟练使用IDEA开发工具,完成学生管理系统等小项目
资源:
书籍:《Java核心技术卷I》
视频:慕课网《Java零基础入门》5
二、语言进阶与高级特性(1个月)
目标:深入理解底层机制,提升代码质量
核心深化:集合源码分析、IO流操作(文件读写/序列化)、多线程(线程创建/同步/Lock锁)
网络编程:Socket通信、TCP/UDP协议
新特性:Lambda表达式、Stream API、函数式接口(Java 8+)
实战:实现单机应用程序(如简易聊天室)
重点:通过调试理解集合扩容、线程状态转换等机制16
三、数据库与Web开发衔接(1-2个月)
目标:掌握数据持久化与基础Web交互
数据库:
MySQL基础:CRUD操作、事务、索引优化
JDBC:连接池原理(如Druid)、SQL防注入
前端基础:HTML/CSS/JavaScript、Ajax异步通信
JavaWeb核心:
Servlet生命周期、JSP动态页面
Filter过滤器和Listener监听器
MVC分层架构实现
项目:开发图书管理系统或简易电商后台311
以下是系统化的Java基础学习路线图,(时间更短)
结合主流技术栈及企业需求整理,共分四个阶段,配有学习要点和资源推荐:
一、Java语法与编程基础(1-2个月)
目标:建立编程思维,掌握核心语法
基础语法:变量/数据类型、运算符、流程控制(if/for/while)、数组
面向对象(OOP):类与对象、封装/继承/多态、抽象类/接口
常用类库:String/StringBuilder、集合框架(List/Set/Map)、异常处理
工具:熟练使用IDEA开发工具,完成学生管理系统等小项目
资源:
书籍:《Java核心技术卷I》
视频:慕课网《Java零基础入门》
二、语言进阶与高级特性(1个月)
目标:深入理解底层机制,提升代码质量
核心深化:集合源码分析、IO流操作(文件读写/序列化)、多线程(线程创建/同步/Lock锁)
网络编程:Socket通信、TCP/UDP协议
新特性:Lambda表达式、Stream API、函数式接口(Java 8+)
实战:实现单机应用程序(如简易聊天室)
重点:通过调试理解集合扩容、线程状态转换等机制
三、数据库与Web开发衔接(1-2个月)
目标:掌握数据持久化与基础Web交互
数据库:
MySQL基础:CRUD操作、事务、索引优化
JDBC:连接池原理(如Druid)、SQL防注入
前端基础:HTML/CSS/JavaScript、Ajax异步通信
JavaWeb核心:
Servlet生命周期、JSP动态页面
Filter过滤器和Listener监听器
MVC分层架构实现
项目:开发图书管理系统或简易电商后台
四、企业开发前置技能(1个月)
目标:构建工程化开发能力
项目管理:
Maven依赖管理、私服配置
Git版本控制(分支管理/协同开发)
Linux基础:常用命令、Tomcat/Nginx部署
框架初探:
Spring IOC容器与Bean管理
MyBatis基础CRUD与映射配置
关键点:掌握SSM(Spring+SpringMVC+MyBatis)整合流程14
️ 学习注意事项
代码优先:每个知识点需手敲代码验证,避免“只看不练”
项目驱动:每个阶段用小项目巩固(如学生管理系统→图书管理系统→电商后台)
避坑指南:
避免过早深入框架源码,先掌握应用层
数据库重点理解索引和事务,而非繁琐SQL语法
资源建议:
算法练习:LeetCode/牛客网刷基础题(每周5题)
文档:Java官方文档 + MySQL官方文档5
总结
提示:IT是一个要多动手的职业,一定要多练不要贪快:
JAVA的学习是一门多练习技能
高效学习Java需要科学规划路径、强化实践并善用资源,以下结合主流学习方法和实战经验,整理出分阶段执行策略:
也要多看我的博客哟。
12万+

被折叠的 条评论
为什么被折叠?



