服务端第一次课-—hello world和mysql访问——SpringBoot
初识SprintBoot
上图来自叶波甸学姐的pdf,作为一个新手来说,可以让我大体了解到我要写的代码主要工作在哪一层,并且了解自己以后需要那些部分的知识点。
实现hello world
1.首先下载ide,这边用的是jetBrain的IntelliJ IDEA 2022.1(学生可免费获取使用许可,详见通过学信网认证的方法)
2.保证电脑本地有JAVA JDK1.8及以上
3.下载Postman
接下来我们打开IDEA,新建一个项目,new project, 点左边栏的Spring Initializr像下面这样
之后的像下面这样选
然后创建就好了。
之后会有一些依赖需要下载
maven项目结构
Maven 是 Apache组织下的一个跨平台的项目管理工具,
它主要用来帮助实现项目的构建、测试、打包和部署。
Maven 提供了标准的软件生命周期模型和构建模型,
通过配置就能对项目进行全面的管理。
src/main/java 程序开发以及主程序入口,java源代码
DemoApplication:项目启动类
src/main/resourses 配置文件,资源文件
src/test/java 测试程序
pom.xml:包含项目所需依赖
总的来说就是
main就是项目主体目录根,其下的java是源代码目录,resource是所需资源目录,filters是资源过滤文件目录,config是配置文件目录根
下面来编写helloWorld代码
创建之后我们在src/main/java目录下的com.example.demo下创建controller包,再创建UserController.java文件
里面的UserController类里面写一个
@GetMapping("/hello")
public String hello(){return "hello world";}
然后运行,之后在postman里用http://localhost:5001/hello就能访问了,之后页面里就会出现hello world
端口号可以在application.properties里修改
mysql访问,获取用户数据
配置Mybatis
Mybatis简要介绍
Mybatis是一个基于Java的持久层框架, 是一个对数据库表和POJO java对象做映射的框架。它最重要的两个特定是:
1.解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,
更易单元测试。Sql和代码的分离,提高了可维护性。
2.提供xml标签,支持编写动态sql。
controller层: 一般都是写接口提供给前端或者后端其他服务使用的,一般后端的接口都是写在 Controller层,Controller层的接口里面不写业务逻辑,主要是调用Service层的业务逻辑方法
dao层: 对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,而service层是针对我们controller,也就是针对我们使用者。service的impl是把mapper和service进行整合的文件
model层: 里写的是数据模型的代码与数据库中的属性值基本保持一致。
service层存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道的,他也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方法。
了解各层是写什么的了,之后就照着学姐的逻辑走了一遍,途中出现了很多bug,大多都是各个小地方的语句出现问题,什么注释没写,什么判断的时候出错。最后通过学姐的帮助,总算是解决了。