模式 哨兵 集群springboot

Springboot定时任务集成shedLock锁

0、写在前面 最近在项目开发过程中,涉及到定时任务的编写,定时任务大家都知道,在多服务器部署时,为了防止同一时间同一任务多次执行的问题,通常需要使用分布式定时任务进行处理,这部分对应的框架也很多,例如:xxl-job,power-job,elastic-job,但是由于考虑到当前所负责开发的项目体量 ......
Springboot shedLock 任务

Java8-Predicate 策略模式的替代品消灭 if else

使用策略模式消灭if else,可以利用Java8的新特性来实现策略模式。 利用Java8的Predicate消灭 if else。首先定义一个map,key是不同的服务代码,value是需要做校验的条件,然后针对不同的服务代码做校验。当然Supplier、Consumer都可以做类似的实现。 `` ......

IDEA 退出 springboot 应用没有关闭

使用idea发现的问题。 当运行spring-boot:run启动项目后,在控制台关闭项目。 再次启动项目,报错端口被占用 Address already in use: bind。后发现虽然使用idea控制台关闭项目,但是实际上该项目依旧在运行中,只能通过kill进程id来解决。 但是这种方式极不 ......
springboot IDEA

抽象工厂模式-04

### 概述 抽象工厂 (abstract factory) 模式又称 Kit 模式,由一个抽象工厂类、多个抽象产品类以及这些抽象类的多个具体子类构成。每个具体工厂类可以创建每个抽象产品类的某个具体子类。 **优点**:高内聚低耦合,符合“开闭原则”。 **缺点**:难以添加新的产品类,这涉及到更改 ......
工厂 模式 04

建造者模式-05

### 概述 建造者模式 (Builder Pattern) 又称生成器模式(视翻译而定)。该模式由一个抽象建造者类、多个具体建造者类、被创建的复杂类、指挥者(director)类构成。抽象建造者类定义被创建类的创建步骤;具体创建者类根据不同目的实现创建步骤;被创建类定义自身的复杂属性成员;指挥者类 ......
模式 05

策略模式:整体替换算法

策略模式是一种行为设计模式,它允许在运行时选择算法的行为。在策略模式中,我们定义了多个算法,并将每个算法封装在一个独立的类中(__策略类__),以便在运行时根据需要进行切换。这使得算法与调用其算法的客户端代码分离,从而实现了更高的灵活性和可维护性。 主要实现方式:1 策略接口 -> n * 具体策略 ......
算法 整体 策略 模式

基于SpringBoot+MyBatis+Thymeleaf的学生管理系统搭建

## 学生管理系统Maven工程搭建 #### 【步骤】: 1. 打开IDEA工具,选择创建一个新工程。 ![image](https://img2023.cnblogs.com/blog/3145567/202306/3145567-20230614103645659-1778660015.png ......

Redis集群

# Redis集群 本章是基于CentOS7下的Redis集群教程,包括: - 单机安装Redis - Redis主从 - Redis分片集群 # 1.单机安装Redis 首先需要安装Redis所需要的依赖: ```sh yum install -y gcc tcl ``` 然后将课前资料提供的Re ......
集群 Redis

maven打包springboot项目

maven项目pom.xml引入外部jar: 1.示例: dependency标签添加systemPath配置 <dependency> <groupId>com.kingbase8</groupId> <artifactId>kingbase8</artifactId> <version>8.6. ......
springboot 项目 maven

IDEA中Springboot项目有scope为provided包时启动报错找不到类FileNotFoundException

IntelliJ IDEA默认不会将<scope>provided</scope>的依赖包含在classpath中,需要单独设置运行或调试的启动设置。 配置方式如下: 在运行配置Configuration选项卡下Use classpath of module的下方有个复选框 Include depe ......

单例模式学习

1、例子 如果单例对象是类的static成员,那么在程序结束时不会调用类的析构函数,如下: #include <iostream> using namespace std; class A{ private: static A* m_ins;//声明,静态指针成员 A(){} public: sta ......
模式

springBoot不同环境读取不同的配置

### springBoot不同环境读取不同的配置 在application.properties 中指定使用 哪个环境的配置文件: ``` spring.profiles.active=dev ``` **当 spring.profiles.active 为 dev 时,会读取 applicati ......
springBoot 环境

SpringBoot启动类@SpringBootApplication注解

在springBoot的启动类中,提供了一个mai函数的程序入口,来启动加载SpringBoot程序,那么注解@SpringBootApplication,通过源码可以看到,它相当于@ComponentScan + @EnableAutoConfiguration + @SpringBootConf ......
SpringBootApplication 注解 SpringBoot

SpringBoot自定义线程池

### SpringBoot自定义线程池 在 SpringBoot 中,可以使用 @Configuration 和 @Bean 去设置线程池,用 @Value 去做线程池的参数配置。 ### 线程池配置: ``` import com.google.common.util.concurrent.Th ......
线程 SpringBoot

minikube配置网络为calico BGP模式

[TOC] ## 序言 > 原本没有想写这么一篇文章,因为每次下班回家晚上都会学习会,家里机器条件没那么好,搞三台到四台虚拟机出来做K8S测试还是比较困难的,所以这里就用了minikube来进行搭建。 > 想利用minikube搭建kubernetes 1.27.2,但是受网络影响,只能安装到kub ......
minikube 模式 calico 网络 BGP

三种架构模式简介(MVC、MVP、MVVM)

一 简介 手机终端随着每年的更新换代,其性能也飞速增长。依附于此的 Android 应用规模也愈发复杂。截止 2023 年 4 月,最新版本 8.0.32 微信 apk 大小为 238MB,而对比 2011 年微信 1.0 版本 apk 包大小仅为 457KB,短短 12 年增长了 533 倍。 随 ......
架构 模式 简介 MVVM MVC

开发模式:原型模式、曳光弹模式

## 起因 软件开发过程中,很关键的一步就是要确定需求,然而需求并不是一成不变的。由于用户需求不明确,产品设计不合理,技术上无法实现等等原因导致需求的改动是很常见的,那么如何在开发过程中帮助确立真正的需求并减少需求改动导致的返工就是今天要讨论的主题。 ## 开发模式介绍 ### 原型模式 原型模式是 ......
模式 曳光弹 原型

1、Android中MVC、MVP和MVVM架构模式的区别

架构模式为项目文件提供了模块化,并确保所有的代码在单元测试中得到覆盖。它使开发人员很容易维护软件,并在未来扩展应用程序的功能。MVC(模型-视图-控制器)、MVP(模型-视图-展示者)和MVVM(模型-视图-视图模型)是开发人员中最流行和行业公认的安卓架构模式。 模型-视图-控制器(MVC)模式 M ......
架构 Android 模式 MVVM MVC

STM32cubeIDE CAN回环模式

配置如下 经过分频,选择位段1和位段2之后波特率回自己计算 CAN总线的频率实在PCLK上 CAN是有接收和发送中断的但是需要在STM32CUBEIDE中自己加入滤波器。 void CAN_Config(void) { CAN_FilterTypeDef sFilterConfig; /*配置CAN ......
回环 cubeIDE 模式 STM CAN

springboot+JXLS+Jexl实现报表模版生成报表

##### 前言 做这个项目的思路是由于公司基于自身发展,需要将之前的老项目平台拆解出来,由于之前的项目是所有的功能全部集中在一起,学习成本以及后续的扩展性来说,非常的不友好,并且由于之前设计人员的流失导致了项目无法进一步优化,所以想将其进行拆解,将单个功能模块进行拆分,形成微服务化,使每个功能的业 ......
报表 模版 springboot JXLS Jexl

ZYNQ 裸机模式下修改默认uart端口

## 背景 调试ZYNQ 裸机code, 调用 printf()后在UART端口无法看到打印信息输出,查看原理图后发现,板子用的UART 1作为默认串口调试接口,UART 0分配给了RS485使用,因此需要修改默认的STD 接口到UART 0,那么如何修改呢? ## 修改默认STD的UART 接口 ......
裸机 端口 模式 ZYNQ uart

解释器模式:语法规则也是类

解释器模式是一种行为型设计模式,它定义了一种语言并解析该语言中的表达式。这种模式用于将一个表达式文法表示成一个抽象语法树,从而使得我们可以通过对语法树进行遍历来解释整个表达式。 在解释器模式中,包含以下几个角色: - 抽象表达式(AbstractExpression):定义了一个抽象的解释操作,具体 ......
解释器 语法 规则 模式

456.132模式

问题描述 456. 132 模式 (Medium) 给你一个整数数组 nums ,数组中共有 n 个整数。 132 模式的子序列 由三个整数 nums[i]、 nums[j] 和 nums[k] 组成,并同时满足: i < j < k 和 nums[i] < nums[k] < nums[j] 。 ......
456.132 模式 456 132

ubuntu2204脚本初始化集群

@[TOC](集群初始化) 用于一键部署集群(多节点)的环境初始化,如修改主机名,主机映射,节点相互免密,时间同步等,可多节点部署 ps:脚本需要下载sshpass,chrony等软件包,确保ubuntu源正常 ## 脚本实现 ```powershell #!/bin/bash # 定义节点信息 N ......
集群 脚本 ubuntu 2204

springboot~代码风格统计spring-javaformat-maven-plugin插件

Spring Javaformat是Spring团队开发的一款基于Google Java Format的代码格式化工具,可以帮助Java开发者自动化进行代码格式化,提高代码质量,降低代码维护成本。 Spring Javaformat可以自定义配置文件,支持大量的代码风格配置选项,满足不同项目和团队的 ......

bond模式详解

bond模式详解 什么是bond 网卡bond就是通过把多张网卡绑定成为一张逻辑网卡,实现本都网卡的冗余,带宽扩容和负载均衡,同bond技术让多块网卡看起来是一个单独的以太网卡接口设备并具有相同的IP地址 为什么使用bond Bond可以将多张网卡绑定到一起,让两个或者多个接口,作为一个接口使用,同 ......
模式 bond

C/S模式与B/S模式的区别

网络程序开发的两种计算模式--C/S模式与B/S模式。两种各有千秋,用于不同场合。 C/S适用于专人使用,安全性要求较高的系统; B/S适用于交互性比较频繁的场合,容易被人们所接受,倍受用户和软件开发者的青睐; B/S模式下的动态网页技术主要有CGI,ASP,PHP,JSP等, 其中JSP基于jav ......
模式

中介者模式:只有一个仲裁者

中介者模式是一种行为型设计模式,它的主要目的是减少多个对象之间的直接通信,并通过一个中介者对象来协调它们之间的交互。这样可以降低系统的复杂性,增加可维护性和灵活性。 > 示例代码 ```java // 中介者接口 interface Mediator { void sendMessage(Strin ......
中介者 仲裁者 中介 只有 模式

springboot rabbitmq配置

### YML ```yaml rabbitmq: host: xxx.xxx.xxx.xxx port: 5672 virtual-host: dev username: xxx password: xxx publisher-confirm-type: correlated publisher- ......
springboot rabbitmq