跳至主要內容
配置
mail:
  # 邮件服务器地址
  host: smtp.qq.com
  # 你的邮箱地址
  username: 管理员的QQ邮箱,例如:xxxxxx@qq.com
  # 授权码
  password: xtgfgfqieqfycddh
  # 编码格式
  default-encoding: utf-8
  # 协议
  protocol: smtp
  properties:
    mail:
      smtp:
        auth: true
        starttls:
          enable: true
          required: true

sixkey大约 1 分钟后端SpringBootmail实战
策略模式实现多种支付

最近开发完成的项目中使用到了策略模式,实现多种支付方式,避免了后期支付方式if-else代码的冗余,也有利于后期支付的一个扩展。同时这个项目非常适合于做毕设,想了解这个项目的同学可以联系我QQ:3808898981

前台首页

前台首页

后台管理员


sixkey大约 3 分钟后端设计模式SpringBoot策略模式
SpringBoot集成ES

效果

实现关键字搜索并高亮关键字

c13dd774fbbfd9ade7a74817dc49f0c7.png
c13dd774fbbfd9ade7a74817dc49f0c7.png

在线体验:http://www.sixkey-world.top


sixkey大约 3 分钟后端SpringBootES实战
SpringBoot集成Redis

整合主要讲解redis缓存更新策略、缓存三大问题解决方案以及使用Lua脚本解决幂等问题

整合

导入依赖

<!--redis-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>

    <!--线程池pool-->
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-pool2</artifactId>
    </dependency>

sixkey大约 9 分钟后端SpringBootRedis实战
SpringBoot3集成Swagger3

前言

我们都知道项目接口文档api的重要性,所以这期给大家带来的是SpringBoot3集成Swagger3。开干,我玩的就是真实👶

依赖导入

 <!-- swagger3 调用方式 http://你的主机IP地址:端口号/swagger-ui/index.html -->
      <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
        <version>2.2.0</version>
      </dependency>

sixkey小于 1 分钟后端SpringBootSwagger实战
SpringBoot自定义Starter

1、命名推荐

SpringBoot自己开发的命名方式

spring-boot-starter-xxx

自定义命名方式

xxx-spring-boot-starter

2、实战

目的

本文主要讲解OSS对象存储服务Spring Boot Starter制作,开箱即用,为项目进行赋能。基于AmazonS3协议,适配市面上的对象存储服务如:阿里云OSS、腾讯COS、七牛云OSS、MInio等等


sixkey大约 8 分钟后端SpringBoot自定义Starter实战
SpringBoot解决跨域问题

1、添加注解@CrossOrigin

在controller层中添加此注解即可

2.统一处理

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

@Configuration
public class CorsConfig {

    // 当前跨域请求最大有效时长。这里默认1天
    private static final long MAX_AGE = 24 * 60 * 60;

    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*"); // 1 设置访问源地址
        corsConfiguration.addAllowedHeader("*"); // 2 设置访问源请求头
        corsConfiguration.addAllowedMethod("*"); // 3 设置访问源请求方法
        corsConfiguration.setMaxAge(MAX_AGE);
        source.registerCorsConfiguration("/**", corsConfiguration); // 4 对接口配置跨域设置
        return new CorsFilter(source);
    }
}


sixkey小于 1 分钟后端SpringBoot跨域实战
SpringBoot集成JWT

前言

JSON Web Token(JSON Web令牌)

​ 是一个开放标准(rfc7519),它定义了一种紧凑的、自包含的方式,用于在各方之间以JSON对象安全地传输信息。此信息可以验证和信 任,因为它是数字签名的。jwt可以使用秘密〈使用HNAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。

​ 通过JSON形式作为Web应用中的令牌,用于在各方之间安全地将信息作为JSON对象传输。在数据传输过程中还可以完成数据加密、 签名等相关处理。

JWT作用:

​ 授权:一旦用户登录,每个后续请求将包括JWT,从而允许用户访问该令牌允许的路由,服务和资源。它的开销很小并且可以在不同的 域中使用。如:单点登录。 ​ 信息交换:在各方之间安全地传输信息。JWT可进行签名(如使用公钥/私钥对),因此可确保发件人。由于签名是使用标头和有效负载 计算的,因此还可验证内容是否被篡改。


sixkey大约 8 分钟后端SpringBootJWT实战
Minio

1什么是minio?

MinIO 是一款高性能、分布式的对象存储系统. 它是一款软件产品, 可以100%的运行在标准硬件。即X86等低成本机器也能够很好的运行MinIO。

MinIO提供高性能、S3兼容的对象存储。Minio 是一个基于Go语言的对象存储服务。它实现了大部分亚马逊S3云存储服务接口,可以看做是是S3的开源版本,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。区别于分布式存储系统,minio的特色在于简单、轻量级,对开发者友好,认为存储应该是一个开发问题而不是一个运维问题。


sixkey大约 7 分钟后端SpringBootMinio实战
swagger-ui

1.swagger配置类

第一步,需要在pom中引入相应的配置,这里使用2.7.0的版本。需要注意的是2.7.0和2.8.0的版本在界面风格上差异很大,如果感兴趣,可以试试2.8.0以上的版本,我比较青睐使用2.7.0及以下的版本,因为界面比较清爽。

第一步 引入pom

<!--swagger-->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.7.0</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.7.0</version>
</dependency>


sixkey大约 2 分钟后端SpringBootSwagger实战