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

本文涉及的产品
云数据库 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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
IDE Java Maven
Spring Boot之如何解决Maven依赖冲突Maven Helper 安装使用
Spring Boot之如何解决Maven依赖冲突Maven Helper 安装使用
14 2
|
3月前
|
NoSQL Java Redis
springboot搭建后台框架 (二)整合Redis
springboot搭建后台框架 (二)整合Redis
41 0
|
3月前
|
SQL Java 关系型数据库
springboot搭建后台框架 (一)整合tkMapper
springboot搭建后台框架 (一)整合tkMapper
19 0
|
8天前
|
Java Maven Kotlin
[AIGC] 请你写一遍博客介绍 “使用idea+kotinlin+springboot+maven 结合开发一个简单的接口“,输出markdown格式,用中文回答,请尽可能详细
[AIGC] 请你写一遍博客介绍 “使用idea+kotinlin+springboot+maven 结合开发一个简单的接口“,输出markdown格式,用中文回答,请尽可能详细
|
2月前
|
存储 监控 NoSQL
SpringBoot 后台管理系统
SpringBoot 后台管理系统
14 0
|
2月前
|
Java Maven
运行maven项目出现Error:java: JDK isn‘t specified for module ‘XXX‘
运行maven项目出现Error:java: JDK isn‘t specified for module ‘XXX‘
14 0
|
2月前
|
Java fastjson Apache
Spring Boot+Gradle+ MyBatisPlus3.x搭建企业级的后台分离框架
Spring Boot+Gradle+ MyBatisPlus3.x搭建企业级的后台分离框架
32 1
|
2月前
|
Java Maven
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
21 0
|
3月前
|
JSON Java Maven
SpringBoot使用git-commit-id-maven-plugin打包
【2月更文挑战第1天】 git-commit-id-maven-plugin 是一个maven 插件,用来在打包的时候将git-commit 信息打进jar中。 这样做的好处是可以将发布的某版本和对应的代码关联起来,方便查阅和线上项目的维护。至于它的作用,用官方说法,这个功能对于大型分布式项目来说是无价的。
89 0
|
3月前
|
Java Docker 容器
springboot整合后台框架(三)整合elasticsearch
springboot整合后台框架(三)整合elasticsearch
36 0

推荐镜像

更多