- 博客(100)
- 收藏
- 关注
原创 RabbitMQ之基础(一)
文章目录引入RabbitMQ依赖常用配置虚拟主机消息投递策略常用的交换机类型directfanouttopic:常用消息确认消费者端生成者端交换机或路由键不存在消费端限流死信队列(DLX)引入RabbitMQ依赖<!--mq--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</a
2021-12-26 17:58:36
449
原创 Jenkins+K8s实现持续集成(二)之docker
接文章Jenkins+K8s实现持续集成(一)1、docker安装apt-get udpateapt-get install -y docker.io2、docker配置1)阿里云加速器配置打开网址http://cr.console.aliyun.com/镜像加速器2)配置镜像加速器到服务器 Ubuntutee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://xxx.mirror.ali
2021-07-29 14:53:57
258
原创 SpringBoot之RabbitMQ之Header 模式
版本:SpringBoot2.1.7.RELEASE0、pom依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>1、HeaderConfigpackage cn.linst.amqp1.config;import or
2021-07-21 22:10:19
805
原创 SpringBoot之RabbitMQ之Direct 模式
版本:SpringBoot2.1.7.RELEASE安装RabbitMQ,启动RabbitMQ。0、pom.xml添加依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>完整pom:<?xml versio
2021-07-21 20:58:16
284
3
原创 SpringBoot 之Spring Security自动登录功能
版本SpringBoot2.2.6.RELEASE1、pom.xml依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <grou
2021-07-13 16:58:02
211
原创 OAuth2令牌刷新
版本:springboot2.2.6.RELEASE参考文章:OAuth2密码模式这里采用oauth2密码模式,postman工具1、获取令牌2、带上access_token去访问user-server接口,如:或者这样:3、刷新令牌修改请求参数,如下:grant_type refresh_token,refresh_token 的value等于上面请求的refresh_token返回了新的access_token4、旧的access_token已经失效5、换成新的acc
2021-05-25 22:05:16
714
1
原创 OAuth2简化模式
版本:springboot2.2.6.RELEASE参考文章:OAuth2 授权码模式做如下修改:1、auth-server(授权服务器)修改configure(ClientDetailsServiceConfigurer) 方法部分:只需要在 authorizedGrantTypes 中增加 implicit 表示支持简化模式即可。AuthorizationServer:package cn.linst.authserver.config;import org.springframewor
2021-05-24 21:56:19
899
6
原创 springboot之整合jdbctemplate
版本:springboot.2.1.6.RELEASE1、添加依赖:pom.xml:<!-- jdbc--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency><!-- 数据库连接池--><de
2021-04-01 19:56:22
149
原创 springboot之整合mybatis
版本:springboot.2.1.6.RELEASE1、引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <groupId>org.mybatis.spring.
2021-03-31 23:55:32
361
原创 springboot之整合aop
版本:springboot2.1.6.RELEASE1、pom.xml依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 h
2021-03-31 19:52:55
150
原创 springboot之自定义欢迎页面
版本:springboot.2.1.6.RELEASE1、pom依赖pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4
2021-03-30 23:28:13
350
原创 springboot之类型转换器-日期转换器
版本:springboot.2.1.6.RELEASE1、pom依赖pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4
2021-03-30 23:17:11
244
原创 springboot之路径映射
版本springboot2.1.6.RELEASE1、pom依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https:
2021-03-30 23:03:23
267
原创 springboot之commandlinerunner
版本:springboot2.1.6.RELEASE1、pom依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http
2021-03-30 21:19:59
293
原创 mybatis学习12
springboot整合mybatis1、创建一个基本的Spring Boot项目pom.xml依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.
2021-03-20 22:15:37
134
原创 spring微服务学习8
一、spring cloud stream的架构1、发射器当一个服务准备发布消息时,它将使用一个发射器发布消息。 发射器是 Spring 注解接口,它接收 Java 对象( POJO ),该对象代表要发布 消息 发射器接收消息,然后序列化它(默认的序列 化是JSON )并将消息发布到通道。2、通道通道是对队列的一个抽象,它将在消息生产者发布消息或消息消费者消费消息后保留该消息。通道名称始终与目标队名称相关联3、绑定器绑定器是Spring Cloud Stream框架的一部分,它是与特定消息平台对
2021-03-20 15:00:35
624
原创 mybatis学习11
Spring集成Mybatis一、创建基本的Maven Web项目0、pom.xml引入依赖: 打成war包<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.or
2021-03-19 23:25:47
108
原创 mybatis学习10
Mybatis允许在己映射语句执行过程中的某一点进行拦截调用。MyBatis 允许使用插件来拦截的接口和方法包括以下几个:接口或方法描述Executor( update、 query、 flushStatements、 commit、 rollback、getTransaction、 close、 isClosed)ParameterHandler( getParameterObject、 setParameters)ResultSetHandler( handleR
2021-03-17 20:27:30
278
原创 mybatis学习9
一、一级缓存package cn.linst;import cn.linst.mapper.UserMapper;import cn.linst.model.SysUser;import org.apache.ibatis.session.SqlSession;import org.junit.Assert;import org.junit.Test;public class CacheTest extends BaseMapperTest { @Test public
2021-03-15 22:31:29
225
原创 mybatis学习8
一、使用枚举或其他对象1、使用 MyBatis 提供的枚举处理器mybatis-config.xml:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration&g
2021-03-14 20:00:46
195
原创 mybatis学习7
一、一对多映射:表结构参考mybatis学习21、一个用户对应多个角色UserMapper.xml:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="cn.linst.mapper.Use
2021-03-14 15:05:55
222
2
原创 spring微服务学习6
一、服务网关使用Spring Cloud 和 Zuul进行服务路由,所有调用都通过服务网关进行路由, 然后被路由到最终目的地。服务网关充当服务客户端和被调用的服务之间的中介。有了服务网关,服务客户端永远不会直接调用单个服务 URL ,而是将所有调用都放到服务网关上。服务网关中实现的横切关注点包括以下几个:静态路由动态路由验证和授权度量数据收集和日志记录构建服务阿关实现时,要注意以下几点:1.在单独的服务组前面,负载均衡器仍然很有用。在这种情况下,将负载均衡器放到多个服务网关实例前面的是一
2021-03-12 15:03:49
213
2
原创 mybatis学习6
假设在RBAC权限系统中一个用户只能拥有一个角色。数据表结构可查看mybatis学习2。1、一对一映射:1)使用自动映射处理一对一关系UserMapper:package cn.linst.mapper;import cn.linst.model.SysRole;import cn.linst.model.SysUser;import org.apache.ibatis.annotations.Param;import java.util.List;import java.util.
2021-03-11 23:01:11
245
原创 spring微服务学习5
一、客户端弹性模式4种客户端弹性模式:客户端负载均衡(client load balance )模式;断路器(circuit breaker)模式;后备(fallback)模式;舱壁(bulkhead)模式.1、客户端负载均衡(client load balance )模式客户端负载均衡涉及让客户端从服务发现代理(如 Netflix Eureka )查找服务的所有实例 ,然后缓存服务实例的物理位置。每当服务消费者需要调用该服务实例时,客户端负载均衡器将从它维护的服务位置池返回一个位置。2
2021-03-11 15:38:01
292
原创 mybatis学习5
一、MyBatis Generator配置:1、使用 Maven Plugin 运行。在src/main/resources/generator目录下新建:generatorConfig.xml。generatorConfig.xml:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator
2021-03-10 22:58:15
70
原创 spring微服务学习3
基于云的微服务开发:应用程序的配置与正在部署的实际代码完全分离。构建服务器、应用程序以及一个不可变的镜像,它们在各环境中进行提升时永远不会发生变化。在服务器启动时通过环境变量注入应用程序配置信息,或者在微服务启动时通过集中式存储库读取应用程序配置信息。一、管理配置(和复杂性)应用程序配置管理的4条原则:配置管理原则说明分离将服务配置信息与服务的实际物理部署完全分开。应用程序配置不应与服务实例一起部署。相反,配置信息应该作为环境变量传递给正在启动的服务,或者在服务启动时从集
2021-03-09 10:47:26
246
1
原创 mybatis学习4
Mybatis的动态SQL在XML中支持的几种标签:if 、choose (when oterwise)、trim (where set)、foreach 、bind1、if用法UserMapper:package cn.linst.mapper;import cn.linst.model.SysRole;import cn.linst.model.SysUser;import org.apache.ibatis.annotations.Param;import java.util.L
2021-03-08 22:39:09
353
1
原创 mybatis学习3
mybatis注解方式:1、@Select注解、@Update注解、@Delete注解、@Insert注解。以Role角色为例:RoleMapper:package cn.linst.mapper;import cn.linst.model.SysRole;import org.apache.ibatis.annotations.*;import java.util.List;public interface RoleMapper { // @Select注解 @S
2021-03-07 16:32:23
123
原创 mybatis学习2
一个简单的权限管理RBAC:5张表:sys_user_role、sys_user、sys_role_privilege、sys_privilege、sys_role0、目录结构:learnmybatis/├── README.md├── learnmybatis.iml├── pom.xml├── src│ ├── main│ │ ├── java│ │ │ └── cn│ │ │ └── linst│ │ │
2021-03-07 13:59:41
158
原创 spring微服务学习2
1、创建项目目录结构:├─learnspringwfw│ ├─.idea│ │ └─libraries│ ├─.mvn│ │ └─wrapper│ ├─src│ │ ├─main│ │ │ ├─java│ │ │ │ └─com│ │ │ │ └─example│ │ │ │ └─learnspringwfw│ │ │ │ ├─controllers│ │ │ │
2021-03-06 13:46:35
132
1
原创 spring微服务学习1
1、微服务模式微服务模式核心微服务开发模式微服务路由模式微服务客户端弹性模式微服务安全模式微服务日志记录和跟踪模式微服务构建和部署模式①核心微服务开发模式服务粒度通信协议接口设计服务的配置管理服务之间的事件处理②微服务路由模式服务发现服务路由③微服务客户端弹性模式客户端负载均衡断路器模式后备模式舱壁模式④微服务安全模式
2021-03-06 09:19:40
161
原创 mybatis学习1
目录结构:learnmybatis/├── README.md├── learnmybatis.iml├── pom.xml├── src│ ├── main│ │ ├── java│ │ │ └── com│ │ │ └── example│ │ │ ├── App.java│ │ │ └── model│ │ │ └── Country.java
2021-03-05 20:20:05
110
原创 springboot学习28
一、使用SpringBootAdmin1、创建Admin服务器Admin服务器通常会作为一个单独的应用。添加依赖:admin-server的版本要低于等于admin-client的版本,否则会无法注册进服务。<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <ve
2021-03-04 16:56:18
476
1
原创 springboot学习27
一、了解Actuator为了在Springboot 应用中启用Actuator,需要在构建文件中添加Actuator starter依赖。在pom.xml添加以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency&g
2021-03-04 14:48:33
10520
1
原创 springcloud学习3
一、断路器模式断路器提供了后备(fallback)行为和自校正功能。如果受保护的方法在给定的失败阈值内失败,那么可以调用一个后备方法代替它的位置。 在断路器处于打开状态后,几乎始终都会调用后备方法。处于打开状态的断路器偶尔进入半开状态,并尝试调用发生失败的方法。 如果仍然失败,断路器就恢复为打开状态; 如果调用成功,它会认为问题已经解决,断路器会回到闭合状态。断路器是应用到方法上的。在一个微服务中,很容易有数十个断路器。以下几类方法是添加断路器的首选。1.进行REST调用的方法:可能会因为远程服务不
2021-03-04 08:38:20
114
1
原创 springcloud学习2
一、运行配置服务器1、启用配置服务器创建一个Config Server项目①pom.xml引入依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency>pom.xml,如:<?xml version
2021-03-03 15:18:56
274
原创 springcloud学习1
一、搭建服务注册中心1、搭建服务注册中心当服务实例启动的时候,它会按照名称将自己注册到Eureka中。服务的名称为“some-service”。“some-service”可能会有多个完全等价的实例,但是在Eureka注册时,它们的名称是相同的。在某个时间点,另一个服务(other-service)需要使用“some-service”的端点。“other-service”没有使用特定的主机和端口信息对“some-service”进行硬编码,而是根据名字从Eureka查找“some-service”。
2021-03-02 16:59:14
206
原创 springboot学习26
1、SpringData的响应式repository1)响应式repository,要接受和返回Mono和Flux的方法,而不是领域实体和集合。查询:Flux<Ingredient> findByType(Ingredient.Type type);保存:<Taco> Flux<Taco> saveAll(Publisher<Taco> tacoPublisher);2)响应式和非响应式转换如:在关系型数据库并用SpringDataJPA进行
2021-03-01 16:29:05
919
原创 springboot学习25
一、使用SpringWebFlux1、pom.xml引入依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId></dependency>WebFlux 的默认嵌入式服务器是 Netty 而不是 Tomcat。1)返回单个值:@GetMapp
2021-02-18 20:32:14
423
原创 springboot学习24
一、响应式流接口定义:Publisher,Subscriber,Subscription 和 Processor。Publisher 接口声明了一个 subscribe() 方法:public interface Publisher<T> { void subscribe(Subscriber<? super T> subscriber);}Subscriber 如果订阅了,就可以从 Publisher 中接收消息。Subscriber:public inte
2021-02-18 14:32:36
354
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人