更多的程序员文章收录在
文章目录
SpringBoot技术很多很多
本文专门讨论 SpringBoot相关技术的使用,必须要依赖于org.springframework.boot,所以项目必须要是springBoot 的项目
韩顺平说:学习JAVA的人有两大难
第一困惑,JAVA能百度到的知识太多太多,完全不知道学啥
第二困惑,就是不知道以什么样的顺序去学,有的时候乱看一堆视频有遗漏,有的时候,两边的视频还有重复。
建议,学习完右侧的技术之后,就应该投入到项目的学习当中,在项目里去学习左侧的技术会好很多。
Spring的外围技术就更多了。本例也是springBoot的外围技术,不过并不在下面的图表之中。

所以,学习东西要系统一些,如果基本功不够,那后面的技术就会学的很浮。
可以略过或浅尝辄止的技术
这个图中:看上去是过渡技术但是事实上在工作中用不到的:
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 + 微信小程序
这样跑的又轻松,又紧跟时代潮流,学起来也快。
Maven版本
总之一句话,maven 3.6 版本,足够你整个大学生活。
maven
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
Maven的主要目标是允许开发人员理解完整的 在最短的时间内完成开发工作。简化构建过程,提供统一的构建系统,提供高质量的项目信息,鼓励更好的发展做法。 [4]
Maven 和 Ant 针对构建问题的两个不同方面。Ant 为 Java 技术开发项目提供跨平台构建任务。Maven 本身描述项目的高级方面,它从 Ant 借用了绝大多数构建任务。因此,由于 Maven 和 Ant代表两个差异很大的工具,所以接下来只说明这两个工具的等同组件之间的区别,如表 1 所示。 [1]
| 说明 | Maven | Ant |
|---|---|---|
| 标准构建文件 | project.xml 和 maven.xml | build.xml |
| 特性处理顺序 | ${maven.home}/bin/driver.properties ${project.home}/project.properties ${project.home}/build.properties ${user.home}/build.properties 通过 -D 命令行选项定义的系统特性 最后一个定义起决定作用。 | 通过 -D 命令行选项定义的系统特性 由 任务装入的特性 第一个定义最先被处理。 |
| 构建规则 | 构建规则更为动态(类似于编程语言);它们是基于 Jelly 的可执行 XML。 | 构建规则或多或少是静态的,除非使用 |
Apache Maven是一个(特别是Java编程)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当使用Maven的时候,用一个明确定义的项目对象模型来描述项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
Maven 有一个生命周期,当运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。
此外,Maven能够很方便的管理项目报告,生成站点,管理JAR文件,等等。
常用命令
mvn archetype:generate 创建Maven项目
mvn compile 编译源代码
mvn deploy 发布项目
mvn test-compile 编译测试源代码
mvn test 运行应用程序中的单元测试
mvn site 生成项目相关信息的网站
mvn clean 清除项目目录中的生成结果
mvn package 根据项目生成的jar
mvn install 在本地Repository中安装jar
mvn eclipse:eclipse 生成eclipse项目文件
mvnjetty:run 启动jetty服务
mvntomcat:run 启动tomcat服务
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类
Maven安装详解
其实,下载了之后,直接放在目录就可以了。
我一般在放在D:\java 的这个目录下面。
1.下载安装程序
其中tomca Maven 也可以用预置目录的自解压文件
https://download.csdn.net/download/dearmite/90689660
B站上面也有视频教你一步步的安装。
【JAVA环境】tomcat,Maven安装与配置
也可以自行去官网:
从 Apache Maven 官网或者阿里云镜像站下载 Maven 的二进制包。这里建议使用阿里云镜像站(https://mirrors.aliyun.com/apache/maven/maven-3/3.9.5/binaries/?spm=a2c6h.25603864.0.0.3194121eu7SXqa)。
当然,镜像就有失效的可能。

2.压缩包下载成功后解压到指定目录,这里以3.9.5版本为例

3.新建maven仓库
(就是找一个D盘的空目录用来放maven 下载的JAR包)
随着项目的增多,这个目录可能会增长到10G以上。

配置环境变量
注意:(由于 Maven 是用 Java 编写的,因此需要先安装 JDK)
1.找到settings.xml文件,使用记事本或VSCode打开

2.找到localRepository,添加maven仓库路径,并复制到注释外使其生效

3.阿里云镜像站链接

找到mirrors,添加阿里云镜像

看上去是不是很复杂?
对于初学者是不是不友好?
这就是我为什么让你下载我上传到CSDN里面的文件的原因了。
因为我把settings.xml 修改好了。
2.配置环境变量
右击此电脑–>属性–>高级系统设置–>环境变量(不熟悉的参照一下)
因为安到maven 的同学,肯定都是安过JDK 的
mysql安装超详细步骤(保姆级教程)以及JAVA项目技术讨论-【mysql数据库】
或者:
JDK安装详解以及JAVA项目技术讨论-【JAVA环境】
(1)新建系统变量,变量值是自己安装maven的根目录


(2)找到path编辑添加如下内容

3.验证是否成功(关键步骤!)
打开新的命令行窗口(一定要新开!),输入:
mvn -v
出现类似以下信息说明成功:

MAVAN 项目目录结构:
目录结构
src/main/java:存放主程序代码。
src/main/resources:存放配置文件。
src/test/java:存放测试代码。
src/test/resources:存放测试配置文件。
target:构建过程中生成的文件(需要运行代码,产生编译文件,后才会出现)。

生命周期
Maven 的生命周期包括 Clean、Default 和 Site 三个部分,涵盖了从清理到构建、测试、打包、安装和部署的全过程。

MAVEN 本地库
maven如何查询本地库 查看maven仓库路径
settings.xml有什么用
从settings.xml的文件名就可以看出,它是用来设置maven参数的配置文件。并且,settings.xml是maven的全局配置文件。而pom.xml文件是所在项目的局部配置。
Settings.xml中包含类似本地仓储位置、修改远程仓储服务器、认证信息等配置。
settings.xml文件位置
全局配置: ${M2_HOME}/conf/settings.xml
用户配置: user.home/.m2/settings.xmlnote:用户配置优先于全局配置。user.home/.m2/settings.xmlnote:用户配置优先于全局配置。{user.home} 和和所有其他系统属性只能在3.0+版本上使用。请注意windows和Linux使用变量的区别。
配置优先级
需要注意的是:局部配置优先于全局配置。
配置优先级从高到低:pom.xml> user settings > global settings
如果这些文件同时存在,在应用配置时,会合并它们的内容,如果有重复的配置,优先级高的配置会覆盖优先级低的。
ps.修改了配置文件最好吧cmd和eclipse重开一下
settings.xml元素详解
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository/>
<interactiveMode/>
<usePluginRegistry/>
<offline/>
<pluginGroups/>
<servers/>
<mirrors/>
<proxies/>
<profiles/>
<activeProfiles/>
</settings>
LocalRepository
作用:该值表示构建系统本地仓库的路径。
其默认值:~/.m2/repository。${user.home}/.m2/repository
InteractiveMode
作用:表示maven是否需要和用户交互以获得输入。
如果maven需要和用户交互以获得输入,则设置成true,反之则应为false。默认为true。true
UsePluginRegistry
作用:maven是否需要使用plugin-registry.xml文件来管理插件版本。
如果需要让maven使用文件~/.m2/plugin-registry.xml来管理插件版本,则设为true。默认为false。false
Offline
作用:表示maven是否需要在离线模式下运行。
如果构建系统需要在离线模式下运行,则为true,默认为false。
当由于网络设置原因或者安全因素,构建服务器不能连接远程仓库的时候,该配置就十分有用。false
PluginGroups
作用:当插件的组织id(groupId)没有显式提供时,供搜寻插件组织Id(groupId)的列表。
该元素包含一个pluginGroup元素列表,每个子元素包含了一个组织Id(groupId)。
当我们使用某个插件,并且没有在命令行为其提供组织Id(groupId)的时候,Maven就会使用该列表。默认情况下该列表包含了org.apache.maven.plugins和org.codehaus.mojo。
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
...
<pluginGroups>
<!--plugin的组织Id(groupId) -->
<pluginGroup>org.codehaus.mojo</pluginGroup>
</pluginGroups>
...
</settings>
Servers
作用:一般,仓库的下载和部署是在pom.xml文件中的repositories和distributionManagement元素中定义的。然而,一般类似用户名、密码(有些仓库访问是需要安全认证的)等信息不应该在pom.xml文件中配置,这些信息可以配置在settings.xml中。
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
...
<!--配置服务端的一些设置。一些设置如安全证书不应该和pom.xml一起分发。这种类型的信息应该存在于构建服务器上的settings.xml文件中。-->
<servers>
<!--服务器元素包含配置服务器时需要的信息 -->
<server>
<!--这是server的id(注意不是用户登陆的id),该id与distributionManagement中repository元素的id相匹配。-->
<id>server001</id>
<!--鉴权用户名。鉴权用户名和鉴权密码表示服务器认证所需要的登录名和密码。-->
<username>my_login</username>
<!--鉴权密码 。鉴权用户名和鉴权密码表示服务器认证所需要的登录名和密码。密码加密功能已被添加到2.1.0 +。详情请访问密码加密页面 -->
<password>my_password</password>
<!--鉴权时使用的私钥位置。和前两个元素类似,私钥位置和私钥密码指定了一个私钥的路径(默认是${user.home}/.ssh/id_dsa)以及如果需要的话,一个密语。将来passphrase和password元素可能会被提取到外部,但目前它们必须在settings.xml文件以纯文本的形式声明。-->
<privateKey>${usr.home}/.ssh/id_dsa</privateKey>
<!--鉴权时使用的私钥密码。-->
<passphrase>some_passphrase</passphrase>
<!--文件被创建时的权限。如果在部署的时候会创建一个仓库文件或者目录,这时候就可以使用权限(permission)。这两个元素合法的值是一个三位数字,其对应了unix文件系统的权限,如664,或者775。-->
<filePermissions>664</filePermissions>
<!--目录被创建时的权限。-->
<directoryPermissions>775</directoryPermissions>
</server>
</servers>
...
</settings>
Mirrors
作用:为仓库列表配置的下载镜像列表。
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
...
<mirrors>
<!-- 给定仓库的下载镜像。-->
<mirror>
<!-- 该镜像的唯一标识符。id用来区分不同的mirror元素。-->
<id>planetmirror.com</id>
<!-- 镜像名称 -->
<name>PlanetMirror Australia</name>
<!-- 该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL。-->
<url>http://downloads.planetmirror.com/pub/maven2</url>
<!-- 被镜像的服务器的id。例如,如果我们要设置了一个Maven中央仓库(http://repo.maven.apache.org/maven2/)的镜像,就需要将该元素设置成central。这必须和中央仓库的id central完全一致。-->
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
...
</settings>
Proxies
作用:用来配置不同的代理。
Profiles
作用:根据环境参数来调整构建配置的列表。
settings.xml中的profile元素是pom.xml中profile元素的裁剪版本。
它包含了id、activation、repositories、pluginRepositories和 properties元素。这里的profile元素只包含这五个子元素是因为这里只关心构建系统这个整体(这正是settings.xml文件的角色定位),而非单独的项目对象模型设置。如果一个settings.xml中的profile被激活,它的值会覆盖任何其它定义在pom.xml中带有相同id的profile。
Activation
作用:自动触发profile的条件逻辑。
如pom.xml中的profile一样,profile的作用在于它能够在某些特定的环境中自动使用某些特定的值;这些环境通过activation元素指定。
activation元素并不是激活profile的唯一方式。settings.xml文件中的activeProfile元素可以包含profile的id。profile也可以通过在命令行,使用-P标记和逗号分隔的列表来显式的激活(如,-P test)。
注:在maven工程的pom.xml所在目录下执行mvn help:active-profiles命令可以查看中央仓储的profile是否在工程中生效。
properties
作用:对应profile的扩展属性列表。
maven属性和ant中的属性一样,可以用来存放一些值。这些值可以在pom.xml中的任何地方使用标记${X}来使用,这里X是指属性的名称。属性有五种不同的形式,并且都能在settings.xml文件中访问。
Repositories
作用:远程仓库列表,它是maven用来填充构建系统本地仓库所使用的一组远程仓库。
pluginRepositories
作用:发现插件的远程仓库列表。
和repository类似,只是repository是管理jar包依赖的仓库,pluginRepositories则是管理插件的仓库。
maven插件是一种特殊类型的构件。由于这个原因,插件仓库独立于其它仓库。pluginRepositories元素的结构和repositories元素的结构类似。每个pluginRepository元素指定一个Maven可以用来寻找新插件的远程地址。
ActiveProfiles
作用:手动激活profiles的列表,按照profile被应用的顺序定义activeProfile。
该元素包含了一组activeProfile元素,每个activeProfile都含有一个profile id。任何在activeProfile中定义的profile id,不论环境设置如何,其对应的 profile都会被激活。如果没有匹配的profile,则什么都不会发生。
例如,env-test是一个activeProfile,则在pom.xml(或者profile.xml)中对应id的profile会被激活。如果运行过程中找不到这样一个profile,Maven则会像往常一样运行。
总结
提示:IT是一个要多动手的职业,一定要多练不要贪快:
JAVA的学习是一门多练习技能
高效学习Java需要科学规划路径、强化实践并善用资源,以下结合主流学习方法和实战经验,整理出分阶段执行策略:
也要多看我的博客哟。
参考资源
【JAVA方向学习文章视频汇总】
下载安装程序
其中tomca Maven 也可以用预置目录的自解压文件
https://download.csdn.net/download/dearmite/90689660
初学者不会设置的直接下载这个文件好了
4051

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



