从0开始,搭建springboot后台工程搭建及解释(从jdk 及 maven 讲起)(2)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 从0开始,搭建springboot后台工程搭建及解释(从jdk 及 maven 讲起)

四、建立工程

IDEA的第一次打开应该是此界面,假设你现在没有工程,那你肯定是点击“新建工程” - New Project了

12843e57ba8440c99b2da866972a04c3.png


1. Spring initializr方式建立

再出现的选项中,选择Spring initializr,这个是IDEA为了帮我们快速创建Spring项目而加入的。其实选择上面的Maven也是一样的,最后都能建立起一个maven项目;


填上项目的名称和一些项目属性,然后 SDK 和 java 都选择java8版本,打包方式为Jar,点击Next

a61fbaa99c9546a5946ec16db446d0a6.png


这里的SpringBoot版本只会显示当前官方仍在支持的版本,我们尽量这里选的要低一点,高的话,可能不再支持JDK8了。此处使用了2.7.12。然后搜索并勾选 spring-web 和 mybatis ,还有mysql驱动 这三个组件,点击Finish


6670d6d9cad3431aa65a73b78122398b.png


经过一段时间的读条后,我们就能看到项目了,注意,此处,如果你在Idea里没有完成maven的配置,在红框处可能会有错误,此时无妨,按照上面 三、3。开发软件配置 配置后,再重启Idea即可


a6ba0d164dc543b9aefa7bb912a3cce6.png


点开后可能还需要稍微修改下POM文件,主要是关注下mysql驱动的版本和类型,直至标红消失为止

63a03b73387b442597658f3ef3fc9689.png



2. 简易的Demo

薛微的花了几分钟,简易构建了下框架,确切的说是往里面填了三部分的内容,最后如下图

1d16e61ebcc64f8495c07ee06fa602ef.png

我们将在下面详细的探讨这些部分的作用


3. Demo的代码层级解析

Demo的代码部分其实就是在工程包下,项目创建时,其自带了个SeeUApplication ,这个类就是整个springboot的启动器,十分重要。我们写的则是业务代码,同样也在工程包com.example.seeu下,别写到其他地方去了。

fe3cc3e379ae4ed09154eec67ceea3c4.png


一般代码层级就三层


1.Controller 控制器层:来自外界的请求,会进入其中,并且根据请求的url来找到哪个类的哪个方法来处理该请求,把请求的意图拆分成各个功能,再调用各自功能模块

2.Service 服务层:业务逻辑的核心,也即上面所谓的功能模块,承上启下

3.Mapper 映射层: 最底层,针对需要用到数据库的地方,负责数据库的增删改查

e071105596744108b66b15c6499978ce.png

解释:


@Controller注解来自Spring框架本身 ,作用是将这个类放入容器中。需要注意的是,一般情况下,该类及该类的方法上都有@RequestMapping 注解,该注解里面的值就是用来和url匹配的。

@Service注解来自Spring框架本身,作用和@Controller是一样的将这个类放入容器中(注意不是接口,即@service不应该标注在ProductService上,而是标注在ProductServiceImpl上),之所以分成两个注解,主要还是逻辑上让开发者能清晰分层。

@Mapper注解是由myBatis提供的,其作用也是与spring框架结合,将该接口(的代理类)放入容器中

4. Mapper资源解释

除了代码,我们还在resource目录下放置了个mapper目录,resource指的就是项目资源,是能够被默认加载的,里面放置的主要是工程的配置,一般就是以xml、properties、yml等结尾的文件。如果你想加载其他位置的配置,需要额外导入。

3da74a3be1f94ff7a27e855dd5f5cdc4.png

这里的mapper放置的就是对应的sql,和我们在代码位置里mapper写的文件是一一对应的。需要特别注意的是,这里的sql文件里有个命名空间,要写上代码里mapper文件的全路径,不然spring无法把代码和sql文件关联起来。

8c13704acbb5454286796cf2ccde6d0d.png


5. 项目配置

上面的都是代码和资源,真正的配置我们现在来看,我们在IDEA创建工程时,其实它自动给我们建了个配置文件,名为application.properties,里面是空的。但我个人更喜欢yml的形式,所以加了个application.yml文件作为配置文件,内容如下:


51d45881041041889850fec689674ff5.png


我们需要知道,不管是yml,还是properties用处都是一样的,两种文件格式spring也都能识别并解析。只是文件里面的写法不一样,所以根据个人习惯选用


五、安装数据库及数据库工具

其实到现在为止,项目已经可以启动了,但是你真的用起来,走到数据库那一步,是会报错的,因为现在配置数据库,但却没有安装数据库,所以现在需要安装一个Mysql数据库


数据库我也给你准备好了 一个mysql8.0的库,这是windows在线安装的,可以一直点下一步 Windows版mysql8.0


安装设置时 一定要注意记住root用户的密码,后面需要以此连接

51f63ee4252146769f16de42a1c1d960.png

默认安装完会自动启动的,你也可以通过上图的管理,来设置mysql8.0的自动或手动启动。也可以通过安装服务器的目录手动启动

6e5677e3e2674bdca683bb86240a2434.png

安装好数据库,我们还需要去数据库创建库,创建表,还需要用到数据库管理软件,此处推荐navicat,包我也给了 navicat window 安装版 内附安装使用说明,安装成功后如下:



28f7871c2fd94cf394331418c291477b.png

六、建库建表

打开刚安装并注册好的navicat ,新建连接,因为mysql服务器也在本地,所以可以直接使用127.0.0.1

b192727123134c238d0303a67831ecf1.png

6a1ce4370b7248b6823fb4108ac81efc.png


新建数据库,数据库名称是最关键的,因为上面我们的工程用的名字就叫springtest,此处自然也要对应

199d266152b549b69ac39402f37dc606.pngd5badedc5c5142d091cc64ef2ba60122.png


建完库后继续建表

1cffddce136340acb506b3db7204041d.png

此处可以直接通过界面按钮,完成表的创建,就不赘述写建表语句了

fe3739b2b1ce40e499114b1acc23f2b6.png

798db325774e454d978669e5cacd96e3.png

当然此过程中,你可以直接在数据库预填一些数据,如

30e5c4c422fa40719c1d92d0f03ce1cc.png


七、工程配置检查及启动

将此处的数据库连接配置检查一下,包括数据库ip,端口,数据库名,用户名及密码 和我们设置的是否一样,检查无误后启动项目。

c82d35aa60914171bc97deb28be19ef0.png


IDEA提供了软件内启动spring工程的能力,只需要在启动类 SeeUApplication 上点一下即可

2e7d030a70b6458e9363a50c120df233.png

4be8b1df8e514141a5de16734db277eb.png

稍等一会后,就能看到控制台的输出了,因为我们这是极简的工程,所以启动较快,很多复杂项目启动一次就需要数分钟


4ac3790a399442c6b810cdd5d9b50293.png

在url里输入路径后,回车,就可以直接看到指定方法返回预埋的数据了


45edbb87f6b4416fa4cf9c000bb0ac09.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
174 1
Maven——创建 Spring Boot项目
|
2月前
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
49 1
如何使用 maven 创建一个 Spring Boot项目
|
2月前
|
Java 应用服务中间件 Maven
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
364 0
|
4月前
|
Java Maven Spring
SpringBoot 系列之 Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resource
这篇文章描述了在使用Maven构建Spring Boot项目时遇到的`maven-resources-plugin`插件版本问题导致的编译失败,并提供了通过修改插件版本至3.1.0来解决这个问题的方法。
SpringBoot 系列之 Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resource
|
4月前
|
Java API 开发者
JDK8到JDK17版本升级的新特性问题之SpringBoot选择JDK17作为最小支持的Java lts版本意味着什么
JDK8到JDK17版本升级的新特性问题之SpringBoot选择JDK17作为最小支持的Java lts版本意味着什么
154 0
JDK8到JDK17版本升级的新特性问题之SpringBoot选择JDK17作为最小支持的Java lts版本意味着什么
|
4月前
|
SQL 前端开发 Java
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
这篇文章介绍了如何在IntelliJ IDEA中使用Maven将Spring Boot项目打包成可运行的jar包,并提供了运行jar包的方法。同时,还讨论了如何解决jar包冲突问题,并提供了在IDEA中同时启动Vue前端项目和Spring Boot后端项目的步骤。
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
|
4月前
|
Java 测试技术 数据库
SpringBoot单元测试快速写法问题之不想在PandoraBoot工程中Mock Dao层如何解决
SpringBoot单元测试快速写法问题之不想在PandoraBoot工程中Mock Dao层如何解决
|
JSON Java 数据格式
springboot后台下载文件报错: Could not find acceptable representation
使用springboot实现从服务器下载文件功能时,报错:Could not find acceptable representation
1524 0
|
2月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
178 1
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,创建并配置 Spring Boot 项目,实现后端 API;然后,使用 Ant Design Pro Vue 创建前端项目,配置动态路由和菜单。通过具体案例,展示了如何快速搭建高效、易维护的项目框架。
116 62