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

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 从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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
SQL 监控 druid
springboot-druid数据源的配置方式及配置后台监控-自定义和导入stater(推荐-简单方便使用)两种方式配置druid数据源
这篇文章介绍了如何在Spring Boot项目中配置和监控Druid数据源,包括自定义配置和使用Spring Boot Starter两种方法。
|
Java Maven 微服务
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的 maven 依赖
在项目中使用Swagger2工具时,需导入Maven依赖。尽管官方最高版本为2.8.0,但其展示效果不够理想且稳定性欠佳。实际开发中常用2.2.2版本,因其稳定且界面友好。以下是围绕2.2.2版本的Maven依赖配置,包括`springfox-swagger2`和`springfox-swagger-ui`两个模块。
580 0
|
开发框架 前端开发 网络协议
Spring Boot结合Netty和WebSocket,实现后台向前端实时推送信息
【10月更文挑战第18天】 在现代互联网应用中,实时通信变得越来越重要。WebSocket作为一种在单个TCP连接上进行全双工通信的协议,为客户端和服务器之间的实时数据传输提供了一种高效的解决方案。Netty作为一个高性能、事件驱动的NIO框架,它基于Java NIO实现了异步和事件驱动的网络应用程序。Spring Boot是一个基于Spring框架的微服务开发框架,它提供了许多开箱即用的功能和简化配置的机制。本文将详细介绍如何使用Spring Boot集成Netty和WebSocket,实现后台向前端推送信息的功能。
3747 1
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
1229 1
Maven——创建 Spring Boot项目
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
589 1
如何使用 maven 创建一个 Spring Boot项目
|
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
|
小程序 JavaScript Java
微信小程序+SpringBoot接入后台服务,接口数据来自后端
这篇文章介绍了如何将微信小程序与SpringBoot后端服务进行数据交互,包括后端接口的编写、小程序获取接口数据的方法,以及数据在小程序中的展示。同时,还涉及到了使用Vue搭建后台管理系统,方便数据的查看和管理。
微信小程序+SpringBoot接入后台服务,接口数据来自后端
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
579 0
|
Java API 开发者
JDK8到JDK17版本升级的新特性问题之SpringBoot选择JDK17作为最小支持的Java lts版本意味着什么
JDK8到JDK17版本升级的新特性问题之SpringBoot选择JDK17作为最小支持的Java lts版本意味着什么
630 0
JDK8到JDK17版本升级的新特性问题之SpringBoot选择JDK17作为最小支持的Java lts版本意味着什么
|
Java 应用服务中间件 Maven
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
1587 0

推荐镜像

更多