一、 项目内容介绍
本课程涵盖主流前后端开发技术
1、JavaEE企业级框架:Spring Boot + MyBaitPlus
2、Web前端核心框架:Vue+ElementUI
3、公共云部署:前后端项目集成打包与部署
二、Maven介绍
Maven是一个项目管理工具,可以对Java项目进行自动化的构建和依赖管理。
项目中涉及到编译、打包、运行、使用jar包等等,都可以使用maven来帮助我们,使用pom.xml文件来进行处理。
2.1 Maven作用
- 项目构建:提供标准的、跨平台的自动化构建项目的方式。
- 依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源之间的版本冲突等相关问题。
- 统一开发结构:提供标准的统一的项目开发结构,如下所示。
2.2 Maven依赖
每个项目都会涉及一些依赖,运行Maven的时候,Maven所需要的任何构件都是直接从本地仓库直接获取的,如果本地仓库没有,它会首先尝试从远程仓库下载构件到本地仓库中来。
2.3 本地仓库配置
修改maven安装包中的conf/settings.xml文件,指定本地仓库的位置。
(如果不配置,默认放在用户目录下,也就是C盘下,所以可以在D盘中提前创建好一个文件。)
配置好文件后,新建Idea项目时,需要在Settings中进行我们刚刚设置好的maven路径与配置路径。如下图所示。
注意:如果出现了报错,需要检测自己的Idea版本和maven版本。
报错内容:
报错内容:org.codehaus.plexus.component.repository.exception.ComponentLookupException: com.google.inject.ProvisionException: Unable to provision, see the following errors:
1) Error injecting constructor, java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultModelValidator: method <init>()V not found
at org.jetbrains.idea.maven.server.embedder.CustomModelValidator.<init>(Unknown Source)
while locating org.jetbrains.idea.maven.server.embedder.CustomModelValidator
at ClassRealm[maven.ext, parent: ClassRealm[plexus.core, parent: null]] (via modules: org.eclipse.sisu.wire.WireModule -> org.eclipse.sisu.plexus.PlexusBindingModule)
while locating org.apache.maven.model.validation.ModelValidator annotated with @com.google.inject.name.Named(value=ide)
Maven3.8.5版本与IDEA2021暂不兼容。
IDEA 2021 兼容maven 3.8.1及之前的所用版本;IDEA 2020 兼容Maven 3.6.3及之前所有版本;IDEA 2018 兼容Maven3.6.1及之前所有版本。
三、Spring Boot快速上手
3.1 Spring Boot特点
1、遵循“约定优于配置”的原则,只需要很少的配置或者使用默认的配置。
2、能够使用内嵌的Tomcat、Jetty服务器,不需要部署war文件。即直接为jar包。
3、提供定制化的启动器Starters,简化了Maven配置,开箱即用。
4、纯Java配置,没有代码生成,也不需要XML配置。
5、提供了生产级的服务监控方案,如安全监控、应用监控、健康监测。
3.2 遇到的Bug:spring-boot-maven-plugin
配置pom的时候,容易报错:Plugin ‘org.springframework.boot:spring-boot-maven-plugin:’ not found。
大家需要自己查明自己的spring-boot-maven-plugin版本号是什么加上即可。
3.3 遇到的Bug2:找不到Getmapping
最开始我提示我找不到Getmapping,发现是springboot 3.0.2的版本太高了,jdk8跟不上了。
所以转换成2.5.4,但是有如下报错:
Project ‘org.springframework.boot:spring-boot-starter-parent:2.5.4’ not found
这是因为更改代码后,存在缓存问题,需要重新打开项目即可。然后就是成功运行啦!
四、开发环境热部署
- 实际的项目开发调试过程中会频繁地修改后台类的文件,导致需要重新编译,重新启动,整个过程十分的麻烦,会影响开发效率。
- Spring Boot 提供了 spring-boot-devtools组件,使得无须手动重启Spring Boot应用就可以重新编译、启动项目,大大缩短了编译启动的时间。
- devtools会监听classpath下的文件变动,触发Restart类加载器重新加载该类,从而实现类文件和属性文件的热部署。
- 并不是所有的更改都需要重启应用(如静态资源、视图模板等等)可以通过设置spring.devtools.restart.exclude属性来指定一些文件或者目录的修改不用重启应用。
在pom.xml中添加如下配置:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
在application.properties中添加:
spring.devtools.restart.enabled=true
spring.devtools.restart.additional-path=src/main/java
转载:https://blog.csdn.net/weixin_51484460/article/details/128858822