SpingBoot知识总结

SpingBoot知识总结

微服务阶段

 

 spring的核心就是自动装配

 

 什么是springboot

 

 什么是微服务

......

 

 springboot应用程序

原理初深

pom.xml

spring-boot-dependencies:核心依赖在父工程中

我们在引入依赖的时候,不用指定版本,因为有这些版本的仓库

启动器:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
启动器说白了就是springboot的启动场景
比如:spring-boot-starter-web,他就会帮我们导入所有的web环境所有依赖
springboot会将所有的功能场景,都变成一个个启动器

主程序:

......

yaml语法讲解:

基本语法:key:(空格)值,中间有空格

#可以注入到我们配置类中
#key value的形式
#name: zmd
#对象形式
#端口号配置
server:
port: 18021
#行内写法
#server: { port: 18021}

yaml:可以直接给实体类赋值

配置文件:

#可以注入到我们配置类中
#key value的形式
#name: zmd
#对象形式
#端口号配置
server:
port: 18021
#行内写法
#server: { port: 18021}
people:
name: ***
age: 18
happy: true
maps: {k1: v1,k2: v2}

实体类:

 

 

 占位符表达式

 

 

 JSR303校验:

可以对输入的值进行校验

@Validated 

 

 

 

 

 

 file指的是项目的根目录

 

 

 在这些位置都可以写配置文件,springboot都可以读取得到

多环境配置:

 

 

 第一种,多个配置文件,在我们主配置文件中通过配置spring.profiles.active来选择配合文件

 

 

 第二种,在一个文件中,通过---将其模块化,进行配置

spring整合mybatis

1、配置文件application.yml

server:
port: 18021
# 数据源
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8
password: root
username: root
# 整合mybatis
mybatis:
type-aliases-package: com.zmd.pojo
mapper-locations: classpath:mapper/*.xml

2、配置文件dao\mapper

@Mapper
public interface StudentDao {
public List<Student> select();
}

其他正常书写

 

mvc配置原理

Swagger

前后端分离

Vue + SpringBoot(比较火)

后端:后端是控制层,服务层,数据访问层

前段: 前段控制层,视图层

前后端是通过API进行交互

产生一个问题:前后端集成联调,前段人员无法做到及时协商,尽早解决

解决方案:首先指定一个schema【计划的提纲】,实时更新最新API

以前基本都是word计划文档,但是不适用人多的情况

Swagger号称世界上最流行的Api框架

RestFul Api文档在线自动生成工具,api文档和api定义同步更新

可以直接运行,在线测试api接口

项目中使用swagger

需要springfox:swagger2、ui

springBoot集成swagger

1、导入相关依赖:

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0</version>
</dependency>

2、配置swagger===》config

@Configuration
@EnableSwagger2 // 开启swagger
public class SwaggerConfig {
}

3、测试

http://localhost:18026/swagger-ui.html

 

 

 配置swagger

Swagger的bean实例:Docker

1、配置基本信息

 

 上面是配置基本信息

2、自定义扫描接口swagger

 

 3、配置是否启动swagger

 

 4、配置swagger分组

 

 如何配置多个分组:用多个Docker来控制

swagger最厉害的还是在线测试

 

 

 

 

 

 正式发布的时候关闭swagger

springBoot整合redis

 

 

 

 

 spring的配置类:

 

 

 

 

 

 

 

 可以看到所有redis的配置

 

 整合测试:

1、导入依赖


2、配置

#    配置redis
redis:
host: localhost
port: 6379

3、测试redisTemplate

@ApiOperation("获取老师s")// api接口加注释
@RequestMapping(value = "getTeacherRedisTemplate",method = RequestMethod.POST)
@ResponseBody
public List<Teacher> getTeacherRedisTemplate(){
List<Teacher> teachers = null;
ListOperations<String, Teacher> s = redisTemplate.opsForList();
String key = "zmd-teacher";
if (redisTemplate.hasKey(key)) {
return s.range(key,0,-1);
} else {
teachers = teacherService.getTeacher();
for (int i = 0; i < teachers.size();i++)
s.leftPush(key,teachers.get(i));
return s.range(key,0,-1);
}
}

 zookeeper:

安装:https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz

本地解压:

 

 执行bin下的server,启动

dubbo:

下载地址:https://github.com/apache/dubbo-admin/tree/master 或 https://github.com/apache/dubbo

解压到本地,修改配置文件zookeeper的地址

 

 在项目下面打包: mvn clean package -Dmaven.test.skip=true

启动target下的jar

spring整合dubbo

引入jar包

<!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-spring-boot-starter -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>2.12.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.curator/curator-recipes -->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.6.3</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>

 配置文件编写:

 

 1、注册的名字

2、zookeeper的地址

3、扫描的服务包

4、注册的dubbo端口号

 

 

 

 

 

new Contact("", "", "")
posted @ 2021-06-01 17:56  javazmd  阅读(169)  评论(0编辑  收藏  举报