Java
实现一个spring boot starter(一)——SPI机制
你好,我是leo,spring boot的starter给应用的配置带来了很多方便,它可以轻松地添加某个特定的功能到我们的应用,而不用手动配置大量的依赖项和默认值。在这个文章系列里,leo就来聊聊starter这个话题。 一:SPI机制 二:手写一个简易的starter 三:自动装配功能扩展 首先,在这篇文章里,leo要简述一下java和spring的SPI机制,这是理解starter的基础。
实现一个spring boot starter(三)——自动装配功能扩展
你好,我是leo。在上篇文章中,我写了一个spring boot autoconfiguration 的最简例子。 一:SPI机制 二:手写一个简易的starter 三:自动装配功能扩展 实际应用场景下,还会根据各种条件进一步增强自动装配的控制逻辑。 常见的条件注解有: 名称 说明 @EnableAutoConfiguration 用于启用Spring Boot的自动配置机制。使
nacos 使用 MySQL8.x 出现 Nacos No DataSource set异常解决
http://www.taodudu.cc/news/show-6345954.html?action=onClick nacos 使用 MySQL8.x 出现 Nacos No DataSource set异常解决 注:当前版本nacos2.1.0 1、nacos默认室mysql5.7当链接mysql8.x,会出现异常 【Nacos No DataSource se
【RocketMQ】消息的发送
RocketMQ是通过DefaultMQProducer进行消息发送的,它实现了MQProducer接口,MQProducer接口中定义了消息发送的方法,方法主要分为三大类: send同步进行消息发送,向Broker发送消息之后等待响应结果; send异步进行消息发送,向Broker发送消息之后立刻返回,当消息发送成功/失败之后触发回调函数; sendOneway单向发送,也是异步消息发送,向B
Spring Boot + Vue3前后端分离实战wiki知识库系统<十二>--用户管理&单点登录开发一
目标: 其效果也是人人熟知的,下面直接开撸。 用户表设计与持久层代码生成: 用户表设计: 一个模块的开始通常就是从表的设计开始,这里先来将用户表的sql贴出来,当然实际对于表设计肯定不会直接给出个sql,表的设计其实也是非常有学问的,这里重点是操练功能,所以直接贴sql了: 然后执行一下sql: 此时查看一下数据库中用户表有木有生成? 妥妥的,然后我们默认生插入一个用户数据: 看一
【原】无脑操作:基于CentOS 7.9搭建国产数据库 南大通用GBase 8a 单机环境
1、准备GBase 8a的安装包:GBase8a-NoLicense-Free-8.6.2_build43-R7-redhat7.3-x86_64.tar.bz2 2、创建gbase用户、并设置密码(密码规则:长度多于8位的字母+数字) 3、在usr目录下创建database目录,并修改权限给gbase用户 4、将g
为什么基于Linux的安卓没有Linux安全?
大家都知道安卓是基于Linux内核,而且大家也知道Linux的安全性是公认的,那为什么和Linux有着类似嫡系关系的安卓却一直被人诟病不安全呢?要想说清楚这个问题,我们需要了解一下安卓和Linux到底是什么关系,而且这两个系统到底安全不安全,背后的原因是什么。当然,在此需要表明一个观点:世界上没有绝对安全的操作系统。 确切的说,安卓并不是Linux 安卓基于Linux内核这句话,大家
c#学习笔记-------------------------c#的IO操作
一、什么是I/O I/O 的全称是input/output,翻译过来就是输入/输出。对于一个系统或者计算机来说,键盘、U盘、网络接口、显示器、音响、摄像头等都是IO设备。 对于c#程序来说,I/O就是与外界进行数据交换的方式。程序需要对数据进行运算,I/O就是提供数据来源和输出数据的部分。 在C# 中,I/O体系整体分为三个部分,后台存储流、装饰器流、流适配器,具体划分如下图所示:
Leetcode 203. 移除链表元素(Remove linked list elements)
题目链接 给你一个链表的头节点head和一个整数val , 请你删除链表中所有满足Node.val == val的节点, 并返回新的头节点. 示例 1: 示例 2: 提示: 列表中的节点数目在范围 [0, 104] 内 1 <= Node.val <= 50 0 <= val <= 50 思路 这道题使用递归和迭代都可以完成, 两种方法的时间复杂度都为O(n), 空
【剑指Offer】17、树的子结构
【剑指Offer】17、树的子结构 题目描述: 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解题思路: 要查找树A中是否存在和树B结构一样的子树,我们可以分为两步:第一步,在树A中找到和树B的根结点值一样的结点R;第二步,判断树A中以R为根结点的子树是不是包含和树B一样的结构。 对于这两步,第一步实际上就是树的遍历,第二步是判断是否有相同的结构,这两
【剑指Offer】18、二叉树的镜像
【剑指Offer】18、二叉树的镜像 题目描述: 操作给定的二叉树,将其变换为原二叉树的镜像。 解题思路: 求一棵树的镜像的过程:先前序遍历这棵树的每个结点,如果遍历到的结点有子结点,就交换它的两个子结点。当交换完所有的非叶结点的左、右子结点后,就可以得到该树的镜像。 如下面的例子,先交换根节点的两个子结点之后,我们注意到值为10、6的结点的子结点仍然保持不变,因此我们还需要交换这两个结点的左右子
【剑指Offer】22、从上往下打印二叉树
【剑指Offer】22、从上往下打印二叉树 题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 解题思路: 本题实际上就是二叉树的层次遍历,深度遍历可以用递归或者栈,而层次遍历很明显应该使用队列。同样我们可以通过一个例子来分析得到规律:每次打印一个结点时,如果该结点有子结点,则将子结点放到队列的末尾,接下来取出队列的头重复前面的打印动作,直到队列中所有的结点都打印完毕。 举例:
Redisson框架
1. Redisson简介 Redisson:是一个高级的分布式协调Redis客服端 , 专注于分布式系统开发,让用户可以在分布式系统中很方便的去使用Redis 2. 环境搭建 2.1 加入依赖 2.2 定义配置类 3. RedissonClient常见的加锁方法 4. Redisson框架使用lua脚本保证加锁和设置锁的过期时间原子性 源码调用过程: RedissonLock #tryLo
HTML+CSS实现炫酷的登录界面
HTML+CSS实现炫酷的登录界面 上效果图! 鼠标点击用户名或密码,字体会向上滑动,调节大小并高亮。 鼠标放到登录按钮上,按钮可以高亮! 下面是HTML的代码: index_log.css放到指定的位置就行 下面是CSS的代码:
使用 Docker 部署 Mongodb
Mongodb 是最像关系型数据库的 NoSql 数据库,其数据类型非常丰富,数据结构松散,采用类似 Json 的 Bson 二进制格式存储数据,还支持对索引功能。主要应用在数据量大、读多写少或者读写都比较频繁、数据价值较低的场景中,如果社交平台的点赞和评论、游戏、物流信息和轨迹存储等。 由于在企业中,无论是开发环境还是生产环境,基本上都采用 Docker 或其它容器化技术部署中间件,因此这里也只
工厂模式的理论与实现
本文实践代码仓库:https://github.com/goSilver/my_practice 目录一、定义二、作用三、实现3.1 简单工厂3.2 工厂方法3.3 简单工厂和工厂方法如何选择?3.4 抽象工厂四、总结 一、定义 工厂模式是一种创建对象的设计模式。它提供了一种统一的接口来创建对象,而不需要直接使用构造函数。工厂模式将对象的创建过程封装在一个工厂类中,通过调用工厂类的方法来创建对
微信小程序视图容器 swiper
滑块视图容器。 属性类型默认值必填说明最低版本 属性类型默认值必填说明最低版本 indicator-dots boolean false 否 是否显示面板指示点 1.0.0 indicator-color color rgba(0, 0, 0, .3) 否 指示点颜色 1.1.0 indicator-active-color color #000000 否 当前选中的指示
步步高加密 APK 格式 BPK 研究 : 续
上一篇: 步步高家教机加密安装包 BPK 研究 (已弃坑) 闲得蛋疼又开始研究这个了,主要是目前网上没搜到有人公开解密方法,心里还是痒痒的,虽然我菜,但是每次都能进步一点点嘛 这次继续从 Android ROM 上开刀,但是这次没有实体机了,只能慢慢摸索,没法调试咯 这次选了家教机 A6 开刀,因为官网上能下载到 ROM 的,A6 是最新的机型,基于 Android 11,紫光展锐平台 之前已经大
跳槽!阿里工作100+天,菜鸡职业生涯的一点记录
零丶序言 来阿里100天了(准确说是137天,转正后就想写的,但是一直拖延了40天+),在互联网哀鸿遍野的当下,工作不到两年的我选择跳槽,并拿到蚂蚁、字节、pdd、阿里的offer,最终选择阿里,并在阿里转正并度过100天+,写文记录下这段时光。 一丶为何跳槽 大厂情节 毕业的时候也投递了很多大厂,但是简历都不过了。笔者2021年毕业于一所末流211,大学四年纯混子,计算机基础很垃圾,无实
如何在C语言中进行图形界面编程
在C语言中进行图形界面编程是一项非常有挑战性和有趣的任务。虽然C语言主要用于系统级编程和算法开发,但我们仍然可以使用一些库来实现简单的图形界面。在本文中,我将介绍一种在C语言中进行图形界面编程的方法。 首先,让我们来了解一下几个常用的图形库,它们可以帮助我们在C语言中创建图形界面。其中最常用的是图形库是GTK(GIMP Toolkit)和Qt。这些库提供了一系列函数和工具,可以帮助我们创建窗口、按
BeanUtils.copyProperties的使用(深拷贝,浅拷贝)
场景开发中经常遇到,把父类的属性拷贝到子类中。通常有2种方法:1、一个一个set2、用BeanUtils.copyProperties很显然BeanUtils更加方便,也美观很多。那么任何情况都能使用BeanUtils么,当然不是。要先了解他。 BeanUtils是深拷贝,还是浅拷贝? 是浅拷贝。浅拷贝: 只是调用子对象的set方法,并没有将所有属性拷贝。(也就是说,引用的一个内存地址)深拷贝:
Linux安装JDK环境
简介 JDK即Java Develop Kit,是Java开发工具包。 开发Java程序必须有Java开发环境,即Java开发工具包,这个工具包包含了编译、运行、调试等关键命令,哪怕运行Eclipse,NetBeans等开发工具,也要有JDK或JRE的支持,所以开发Java程序之前的第一步准备就是获取JDK,该工具包要到官网下载。 安装JDK环境 操作需要root权限。 下载JDK软件