spring-boot

前端未雨绸缪 必会后端部分

  • java
  • springBoot
  • redis
  • MongoDB mongose
  • MyBatis
  • JWT
  • 大数据相关的技术

springboot 五层结构 view controller service mapper model

SpringBoot框架一般分为View层、Controller层、Service层、Mapper层、pojo层。

1.View层:

视图层,根据接到的数据展示页面给用户

2. Controller层:

响应用户需求,决定用什么视图,需要准备什么数据来显示。Controller层负责前后端交互,接收前端请求,调用Service层,接收Service层返回的数据,最后返回具体的数据和页面到客户端

3. Service层:Service层也可以分为三个方面

1)接口:用来声明方法

2)继承实现接口

3)impl:接口的实现(将mapper和service进行整合的文件)

4.Service层

存放业务逻辑处理,有一些关于数据库处理的操作,但是不是直接和数据库打交道,有接口,也有接口的实现方法,在impl实现接口类中需要导入mapper类,mapper层是直接与数据库进行操作的。

  1. Mapper层:也可以称为DAO层,是数据库CRUD的接口,只有方法名,具体实现在mapper.xml文件中,对数据库进行数据持久化操作(把数据放到持久化的介质中,同时提供CRUD操作)

5.mapper

src/main/resource文件夹中的mapper.xml文件,里面存储的是真正的数据库CRUD语句

6.Pojo层:

存放实体类,与数据库中的属性基本保持一致,一般包括getter、setter、toString方法(未使用插件lombok的情况下)。
由此可见,Service层在Mapper层之上,在Controller层之下,既调用Mapper接口,又提供接口给Controller层用。
分层后,访问数据库和进行Service之间分工明确,对Service的需求修改,无需修改Mapper层,如果有访问数据库的新需求,也只需要在Mapper层修改。

maven 要从官网进行下载 安装,设置两个路径

maven 要只是path的环境变量,并用mvn -v 查看具体的path路径

mvn -v
D:\mysoft\apache-maven-3.8.1-bin\apache-maven-3.8.1\bin\

设置 setting.xml 阿里云公共仓库 的代理,能够快速进行下载依赖包

aliyunmaven * 阿里云公共仓库 https://maven.aliyun.com/repository/public

pom.xml

类似于package.json文件,包含基本的信息和依赖包详情

从file -》 setting -》搜索maven 配置两个变量

maven home path
User settings file
local repository

代码

BookCountroller.java 文件

package com.example.demo.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
@RestConrtoller
@RequestMapping(“/books”)
public class BookController {
@GetMapping
public String getAllBooks() {
// TODO: 获取所有图书的逻辑
System.out.println(“system in of”);
return “spring boot is running”;
}
}

代码

遇到的问题

pom.xml缺少如下配置 会导致一直找不到@RestController

	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>

配置文件 路径

D:\mysoft\apache-maven-3.8.1-bin\apache-maven-3.8.1\conf\settings.xml
D:\mysoft\apache-maven-3.8.1-bin\apache-maven-3.8.1\repos

初始化 spring boot项目的时候,两种方式

通过idea

File->New->Project,选择Spring Initializr,选择合适 Project SDK, 此处选择JDK8.0

2、通过 spring官网

https://start.spring.io/

3、通过 aliyun spring官网

https://start.aliyun.com/

4、通过自定义配置

隐藏文件或者文件夹

File => setting => File Types ->Ignored Files and Folders
输入要隐藏的文件名,支持*号通配符
回车确认添加

SpringBoot简介

spring 缺点

  • 依赖设置繁琐
  • 配置繁琐

SpringBoot

  • 起步依赖(简化依赖配置)
  • 自动配置(简化常用工程相关配置)
  • 辅助功能(内置服务器…)

入门案例解析

parent

  • 开发SpringBoot程序要继承spring-boot-starter-parent
  • spring-boot-starter-parent 中定义了若干个依赖管理
  • 继承parent 模块可以避免多个依赖使用相同技术时出现的依赖版本冲突
  • 继承parent的形式也可以采用依赖形式实现效果

starter

  • springBoot 中常见项目名称,定义了当前使用的所有依赖坐标,以达到减少依赖配置的目的

parent和starter 区别

parent

所有的springBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的
spring-boot-starter-parent各版本之间存在着诸多版本不同

实际开发

使用任意坐标时,仅书写GAV中的G和A,V由springBoot提供,除非springBoot未提供相对于的版本V
如发生坐标错误,再指定Version(要小心版本冲突)

引导类

public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
springBoot 的引导类就是Boot工程的执行入口,运行main方法就可以启动项目
springBoot工程运行后初始化spring容器,扫描引导类所在包加载bean

内嵌tomcat

1.n内嵌tomcat服务器是SpringBoot辅助功能之一
2.内嵌Tomcat工作原理是将Tomcat服务器作为对象运行,并将该对象交给Spring容器管理
3.变更内嵌服务器的思想是除去现有服务器,添加全新的服务器

REST形式 RESTful风格

http://localhost/users/1 查询指定用户信息 GET(查询)
http://localhost/users 查询用户信息. GET(查询)
http://localhost/users 添加用户信息 POST(新增/保存)
http://localhost/users 修改用户信息 PUT (修改/更新)
http://localhost/users/1 删除用户信息 DELETE(删除)

接收参数

@requestBody @requestParam @PathVariable

  • 区别
    • @requestParam用于接收url地址传参或表单传参
    • @requestBody用于接收json数据
    • @PathVariable用于接收路径参数,使用{参数名称}描述路径参数
  • 应用
    • 后期开发中,发送请求参数超过1个时,以json格式为主,@RequestBody应用较广
    • 如果发送非json格式数据,选用@RequestParam接收请求参数
    • 采用RESTful进行开发,当参数较少时,例如一个,可以采用@PathVariable接收请求路径变量,通常用于传递id值
    • @RestController @GetMapping @PostMapping @PutMapping @DeleteMapping

swagger用法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值