- 博客(91)
- 资源 (20)
- 收藏
- 关注
原创 Jenkins使用Publish Over SSH插件远程部署程序到阿里云服务器
使用Jenkins远程构建springboot服务到阿里云上,Jenkins版本:Version 2.462.1。
2024-08-19 11:55:07 711
原创 Tiny11builder制作自己的纯版Windows镜像系统,测试有效
终端管理员 运行 Set-ExecutionPolicy unrestricted 必须,否则无法运行。等待几分钟,Tiny11 Builder将生成一个名为“tiny11.iso”的镜像文件。等会出现这个界面,选择和装载镜像的版本系统,我这边是专业版,选择 4 然后回车。出现以下,选择刚刚装载的镜像盘符,我这里是G,输入G即可,回车下一步。下载好的window11镜像右键,选择挂载或装载即可。准备工作完成后,下面就正式傻瓜式一步步执行就行。在我的电脑下面就会出现。到这基本就顺利完成了。
2024-07-26 10:16:10 1171
原创 Postgresql处理JSON类型中替换某个属性值问题
有没有办法获取所选JSON数组元素的索引并将SELECT语句和UPDATE语句合并为一个?使用postgresql对json的特性使用sql批量处理json中某个属性的值。基本执行上面就可以批量处理josn数组里面boardId的属性值了。因为是更新同一个tent_info字段,所有得分两次执行才行。想要替换boardId的值。#三、处理单个属性值。
2023-12-21 11:27:19 863
原创 使用HutoolUtil工具包之树结构工具TreeUtil 快速处理数据树形结构数据,很好很强大!
数据库里面有子父级的数据,查询出来是一个平级list集合,想要展示树形的数据结构,需要重新封装一下,所以提供一个通用的方法方便灵活。
2023-04-27 09:08:23 1268 1
原创 【LogBack日志】打印mybatis中sql日志并存放到指定文件中
在springboot中使用logbac-spring.xml单独打印mybaits中的sql,另存一个单独的日志中。2、logback-spring.xml3、关键几点几个关键点a. 文件名需要为logback-spring.xml; 动态日志路径才会生效; 属性文件中配置 log.path=xxx;【Log日志】logback.xml动态配置属性值(包括接入的第三方配置)b. levle 需要是DEBUG等级; 因为sql日志是DEBUG等级的;name= 存放mapper文件的
2023-04-13 10:12:30 10110
转载 在docker build 期间无法使用进程替换,因为 bash 进入posix 模式
显然作为sh运行会导致 bash 切换到 POSIX 模式,该模式不允许进程替换: /bin/sh: -c: 第 0。在 docker build 期间无法使用进程替换,因为 bash 进入 posix 模式 在 Dockerfile 中,我想使用进程替换: RUN echo
2023-03-27 10:21:14 322
转载 mybatis 处理数组类型及使用Json格式保存数据 JsonTypeHandler and ArrayTypeHandler
mybatis 比 ibatis 改进了很多,特别是支持了注解,支持了plugin inteceptor,也给开发者带来了更多的灵活性,相比其他ORM,我还是挺喜欢mybatis的。
2023-03-20 18:24:27 4630
原创 Jdbc连接oracle远程数据库字符集US7ASCII中文乱码解决
因为程序代码本身的编码是utf-8,使用jdbc连接查询oracle数据库表数据中文乱码,plsql设置环境变量NLS_LANG=AMERICAN_AMERICA.US7ASCII 是能解决plsql显示正常,但是程序使用jdbc连接数据库还是乱码。数据库:oracle11g 字符集:AMERICAN_AMERICA.US7ASCII。1、配置服务端编码和客户端编码。
2022-10-26 10:58:27 7309 6
转载 微服务(分布式架构)扩展之AKF拆分原则
AKF 立方体也叫做scala cube,它在《The Art of Scalability》一书中被首次提出,旨在提供一个系统化的扩展思路。AKF 把系统扩展分为以下三个维度:X 轴:直接水平复制应用进程来扩展系统。Y 轴:将功能拆分出来扩展系统。Z 轴:基于用户信息扩展系统。
2022-09-13 15:15:37 1217
转载 Spring系列16:注解详解和Spring注解增强(基础内功)
有部分小伙伴反馈说前面基于注解的Spring中大量使用注解,由于对Java的注解不熟悉,有点难受。建议总结一篇的Java注解的基础知识,那么,它来了!什么是代码中写的注释?那是给开发者看的,但是编译之后的字节码文件中是没有注释信息的,也就是说注释对于java编译器和JVM来说是没有意义的,看不到!类比注释是给人看的,注解则是给java编译器和JVM看的一些标识,编译器和虚拟机在运行的过程中可以获取注解信息来做一些处理。注解定义的语法如下:参数名称可以没有,也可以定义多个,定义细节如下:定义注解时候需要考虑
2022-07-14 11:40:30 309
转载 Spring系列15:Spring AOP 概念与快速入门篇
OOP: Object-oriented Programming 面向对象编程,大家再熟悉不过了AOP:Aspect-oriented Programming 面向切面编程面向切面编程通过提供另一种思考程序结构的方式来补充面向对象编程。OOP 中模块化的关键单元是类,而 AOP 中模块化的单元是切面。Spring 的关键组件之一是 AOP 框架。Spring IoC 容器不依赖 AOP,AOP 对 Spring IoC 的补充提供了非常强大的中间件解决方案。主要用于下面2方面:先了解一下核心 AOP 概念和
2022-07-13 09:42:20 184
转载 Spring系列14:SpEL详解
Spring 表达式语言(简称“SpEL”)是一种强大的表达式语言,支持在运行时查询和操作对象图。语言语法类似于 Unified EL,但提供了额外的功能,最值得注意的是方法调用和基本的字符串模板功能。虽然 SpEL 是 Spring 产品组合中表达式评估的基础,但它不直接与 Spring 绑定,可以独立使用。表达式语言支持以下功能:通过几个案例快速体验SpEL表达式的使用。纯字面意义的字符串输出,体验使用的基本步骤。案例2 字符串方法的字面调用在表达式中调用字符串的普通方法和构造方法。案例3 针对
2022-07-12 16:04:28 2440 1
转载 Spring系列13:Resource接口及内置实现
本文内容Java 的标准 java.net.URL 类和各种 URL 前缀的标准处理程序不足以满足所有对低级资源的访问。 例如没有标准化的 URL 实现可用于访问需要从类路径或相对于 ServletContext 获取的资源。 虽然可以为专门的 URL 前缀注册新的处理程序(类似于现有的前缀处理程序如 http:),但这通常相当复杂,并且 URL 接口仍然缺乏一些理想的功能,例如检查是否存在的方法 指向的资源。针对上述这种情况,Spring 提供了更强大的接口Resource用于对低级资源的抽象访问,其定义
2022-07-12 15:21:10 790 1
转载 Spring系列12:IoC容器的扩展点
知识需要成体系地学习,本系列文章前后有关联,建议按照顺序阅读。上一篇我们详细介绍了Spring Bean的生命周期和丰富的扩展点,没有阅读的强烈建议先阅读。本篇来详细讲讲容器提供的扩展点,完整的生命周期图镇楼。作用和定义常规 BeanPostProcessor 的作用是提供自定义的实例化逻辑、初始化逻辑、依赖关系解析逻辑等,对bean进行增强。主要的作用阶段是初始阶段前后。该接口定义了2接口,分别是前置增强和后置增强。 Spring AOP 功能主要是通过 BeanPostProcessor 实现的。自定
2022-07-12 14:58:56 235
转载 Spring系列11: `@Value` `@Resource` `@PostConstruct` `@PreDestroy` 详解
前面章节介绍了使用@Autowired注入依赖的详细用法,感兴趣的可以翻看前面的文章。Spring 还支持通过在字段或 bean 的Setter方法上使用 JSR-250 @Resource 注解进行注入。1.1、基本使用依赖组件定义使用@Resource注入依赖运行测试@Resource和@Autowired的区别@Value 通常用于注入外部化属性。在字段或方法构造函数参数级别使用的注释,指示注解元素的默认值表达式。案例1使用@Value注入配置属性值外部配置文件demo10/appl
2022-07-12 14:25:31 559
转载 Spring系列10:@ComponentScan批量注册bean
在前面的章节,我们介绍了@Comfiguration和@Bean结合AnnotationConfigApplicationContext零xml配置文件使用Spring容器的方式,也介绍了通过扫描包路径下的bean的方式。如果忘了可以看下前面几篇。这篇我们来结合这2种方式来理解@ComponentScan源码中解析为配置组件扫描指令与@Configuration类一起使用提供与 Spring XML 的 ...
2022-07-12 14:01:18 336
转载 Spring系列9:bean的生命周期
从源码角度来说,简单分为4大阶段: 实例化 -> 属性赋值 -> 初始化 -> 销毁实例化和属性赋值对应构造方法和 setter 方法的注入,初始化和销毁是用户能自定义扩展的两个阶段。在这四步之间穿插了各种Spring提供的容器扩展点。看下源码实现 AbstractAutowireCapableBeanFactory#doCreateBean ,无关源码已经省略,会保留一定的源码的英文注释。bean销毁阶段源码可以看下 ConfigurableApplicationContext#close(),最终每个
2022-07-12 11:45:42 181
转载 Spring系列8:基于注解的Spring容器配置
前面几篇中我们说过,Spring容器支持3种方式进行bean定义信息的配置,现在具体说明下:前面的案例都是基于XML的,这篇介绍Annotation-based方式。该入门案例的bean的定义信息在xml文件这个,使用注解来进行依赖注入。@Autowired:将构造函数、字段、设置方法或配置方法标记为由 Spring 的依赖注入工具自动装配。定义类并通过@Autowird注入依赖1.1、xml文件启用注解配置1.2、获取容器中的bean进行使用二、案例入门2入门案例1中简化传统的xml配置依赖注
2022-07-12 10:38:21 323
转载 Spring系列7:bean的作用域
Spring中区分下类、类定义信息,类实例对象的概念?不容易理解,以餐馆中点炒饭为例。类: 相当于你看到菜单上炒饭这个菜品,有这个菜。**类定义信息:**相当于炒饭的烹饪法,烹饪法只有一份类实例对象: 相当于按照上面烹饪法炒出来的一份炒饭,可以炒分多份出来。Spring容器中创建了一个类定义信息的,就可以根据这个定义信息来创建个类实例对象出来,这个理解了很关键。Spring中不仅可以控制 bean 对象中的各种依赖项和配置值,还可以控制 bean 额作用范围。Spring Framework 支持6个bea
2022-07-12 10:17:43 157
转载 Spring系列6:@Autowire自动装配如何理解使用
前几篇我们介绍各种依赖依赖注入,都是显式指定的,配置明确但同时也有些繁杂和重复。“很多发明的出发点,都是为了偷懒,懒人是推动社会进步的原动力”。Spring 提供了自动注入依赖的机制。Spring 容器可以自动装配依赖 bean 之间的关系。 Spring 通过检查 ApplicationContext 容器中的内容自动解析依赖 bean (也就是其它 bean)。优点如下:缺点如下:当使用基于 XML 的配置元数据时,可以使用 元素的 autowire 属性为 bean 定义指定自动装配模式。共4种模式
2022-07-12 10:05:29 526
转载 Spring系列5:depends-on干预bean创建和销毁顺序
初始化: depends-on 属性可以显式地强制一个或多个 bean 在使用这个元素的 bean 被初始化之前被初始化。销毁:depends-on 属性指定的那些依赖bean先销毁,使用这个元素的 bean后被销毁,干预了关闭顺序。结论给完了,我们下面通过案例验证。定义3个简单类,包含init和destroy方法,用于观察顺序配置中bean定义并指定初始化方法和销毁方法测试容器对bean的初始化和销毁本阶段结论输出结果初始化的顺序是bean在配置文件中的配置顺序A-B-C销毁的顺序与初始化顺
2022-07-12 09:42:17 443
转载 Spring系列4:各种属性值依赖注入
上一篇我们介绍Spring中2种依赖注入的方式:那么问题来了,普通类型的依赖怎么注入,集合依赖怎么注入,null怎么注入?本篇全面了解下。基本类型和字符串,通过value元素直接指定值。上案例,对照类和配置。1.2、引用类型的注入引用类型类型通过ref标签设置。1.3、内部bean注入property或 constructor-arg元素中的bean元素定义了一个内部 bean。内部 bean 始终是匿名的,并且始终使用外部 bean 创建。无法独立访问内部 bean 或将它们注入到别的 b
2022-07-11 18:00:52 196
转载 Spring系列3:依赖注入的2种方式
定义2个简单的bean类,BeanOne 和 BeanTwo,前者依赖后者。通过xml配置文件实现bean定义和依赖注入来个测试类验证下注入输出如下对照配置文件BeanOne的3个依赖都通过构造器的方式进行注入了,符合预期,很简单。constructor-arg详解标签constructor-arg支持的元素列表如下。例如案例中的配置注意: 在没有引起歧义的情况下,上面的部分元素并不是都必须配置的。如指定了index时可以定位参数位置,那么name是可以不配置的,又如通过ref引用依赖bean
2022-07-11 17:07:51 168
转载 Spring系列2:Spring容器基本概念和使用
什么是IoC控制反转?通俗地但不严谨地讲,以前传统方式都是应用程序需要一个对象,直接通过new的方式来生成,该对象的管理也是由当前程序自己控制。现在有一个容器,负责将应用程序需要的所有对象都new好了,对象都统一由这个容器管理,应用程序需要对象的时候直接找容器要,应用程序说我不关系对象是怎么来的反正你给我就行。这样和以前的方式不一样了,以前是应用程序自己创建和管理,现在交给容器统一创建管理了,控制权发生反转了,这简单理解为IoC。什么是DI依赖注入?通俗地但不严谨地讲,应用程序需要的对象A依赖于B,由容器直
2022-07-11 16:55:17 427
转载 Spring系列1:Spring基本概念
基本概念Spring 框架为现代基于 Java 的企业应用程序提供了一个全面的编程和配置模型——在任何类型的部署平台上。Spring 使创建 Java 企业应用程序变得容易。它提供了在企业环境中采用 Java 语言所需的一切。目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于应用程序的开发。优点Spring
2022-07-11 16:28:48 189
原创 DB2获取表信息异常:Caused by: com.ibm.db2.jcc.am.SqlException: [jcc][t4][1065][12306][4.25.13]
DB2版本:DB2 v10.5.0.11当JDBC通过JCC驱动(db2驱动)的DatabaseMetaData中的getTables获取数据库表信息抛出异常:原因当 JCC 驱动程序查询的字符列中的数据不是数据库代码页中的有效字符串时,JCC 驱动程序将引发异常。无效数据可能已通过以下方式输入到数据库:通过运行将字节值写入数据库的 SQL 语句。例如:INSERT INTO tab1 VALUES (X’C3’)通过对包含不在客户端计算机代码页中的字符数据的文件运行 IMPORT 或 LOAD
2022-07-05 10:12:04 3443
原创 Apache Calcite中之SQL解析并替换占位参数和获取复杂SQL中的别名关系
概述:上篇已经详细介绍Apache Calcite的概念,这块就不在多少了,直接看实现代码package com.joe.common.util;import com.google.common.collect.ImmutableList;import org.apache.calcite.avatica.util.Casing;import org.apache.calcite.avatica.util.Quoting;import org.apache.calcite.avatica.uti
2022-03-29 15:45:49 4638 8
原创 Apache Calcite概念介绍
一、介绍1、简介● Apache Calcite是面向Hadoop新的查询引擎,它提供了标准的SQL语言、多种查询优化和连接各种数据源的能力。● Calcite的目标是“ one size fits all (一种方案适应所有需求场景)”, 希望能为不同计算平台和数据源提供统一的查询引擎,并以类似传统数据库的访问方式(SQL 和高级查询优化)来访问Hadoop上的数据。● Calcite之前的名称叫做optiq ,optiq起初在Hive项目中,为Hive提供基于成本模型的优化,即CBO(Cost
2022-03-29 15:38:46 3682
原创 ActiveMQ客户端Stomp连接异常问题
异常:Whoops! Lost connection to ws://xxxx:61614/stomp异常最近使用stomp连接mq,发现此问题,记录一下。客户端源码<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title><script type="text/javascript" src="stomp.j
2022-03-16 11:32:17 1248
原创 Win11承诺的支持安卓App终于更新了,上班刷抖音不是梦
前言:微软承诺的“Windows 11支持Android应用”今天终于发布更新。第一步、电脑系统必须升级最新第二步、安装Amazon Appstore应用商店但是Windows 11限制用户只可以从亚马逊应用商店安装App,我们中国区用户怎么办呢?别急。虽然非美区用户还无法在微软商店下载Amazon Appstore,不过已经有大神可以绕过这一限制,实现安装任意apk。首先进入网站https://store.rg-adguard.net,分别选择ProductID、Slow,在搜索框中输入9
2022-02-17 14:25:12 1724
原创 Quartz暂停后再恢复时job执行多次
问题描述:1、Quartz创建一个Job任务,这个很简单/** * 新增/修改任务 * @param quartz * @return */ @Override public Result saveJob(QuartzJob quartz,Object obj){ try { //如果是修改 展示旧的 任务 if(quartz.getOldJobGroup() != null &am
2022-02-11 17:41:34 2396 5
原创 Hadoop3.2 Yarn集群模式搭建
前言:Hadoop3.2 集群是比较新稳定版本的搭建详细讲解过程,从下面第一张官方的图来看:主机本次操作为root,主要是方便操作,操作系统为:Centos71、准备两台主机192.168.0.233、192.168.0.234(资源有限,就用一台主机了)2、对应的hosts为m1.example.com、m2.example.com具体命令操作如下vim /etc/hosts192.168.0.233 m1.example.com192.168.0.233 m2.example.co
2021-07-22 13:44:08 1508 5
原创 Java Lambda表达式对象集合交集,差集,去重
1、第一种//从数据库取的数据List<User> saleTaskItemOldList = new ArrayList<>(); //从前端修改的数据List<User> saleTaskItemNewList = new ArrayList<>(); //修改的List<User> updateOldList = saleTaskItemNewList.stream()
2021-07-19 16:44:14 1474
原创 Docker创建ClickHouse 并初始化数据测试
CREATE TABLE `ontime` ( `Year` UInt16, `Quarter` UInt8, `Month` UInt8, `DayofMonth` UInt8, `DayOfWeek` UInt8, `FlightDate` Date, `UniqueCarrier` FixedString(7), `AirlineID` Int32, `Carrier` FixedString(2), `TailNum` String, `FlightNum
2021-06-25 16:36:08 682 3
原创 SpringBoot+Sharding-jdbc+Maven分库分表
准备一、了解sharding-jdbc概念官方文档:sharding-jdbcShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。我这边就不过多介绍了,咱们重点的是sharding-jdbc,是期中的一个插件。其实核心思绪
2021-06-11 18:39:04 3078
原创 SpringBoot-Mycat(垂直分库,分表)
背景:随着系统和业务数据的不断增加,库和表中的数据会越来越大,随着访问的资源数据遇到性能问题,而一台服务器的资源是有限的,因此需要对数据库和表进行拆分,从而更好的提供数据服务。一、什么是分库分表简单来说,就是指通过某种特定的条件,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机)上面,以达到分散单台设备负载的效果。数据的切分(Sharding)根据其切分规则的类型,可以分为两种切分模式。一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,这种切可以称之为数据的垂直(纵向
2021-05-17 17:22:37 799 3
原创 Docker构建Mycat(单节点)
Mycat是使用 JAVA 语言进行编写开发,使用前需要先安装 JAVA 运行环境(JRE),由于 MyCAT 中使用了JDK7 中的一些特性,所以要求必须在 JDK7 以上的版本上运行。Mycat支持多种数据库接入,如:MySQL、SQLServer、Oracle、MongoDB 等,推荐使用MySQL 做集群。1、下载mycat安装包wget http://dl.mycat.org.cn/1.6.6.1/Mycat-server-1.6.6.1-release-20181031195535-lin
2021-05-17 15:46:54 385
原创 idea通过maven插件构建项目docker镜像并发布到远程Harbor私有仓库
前言:可能有时候为了方便直接使用idea构建项目镜像到docker服务器上,大大方便部署时间,提供工作效率。idea安装docker插件通过idea的setting中plugins搜索docker进行安装即可我这块已经安装过了,就不在截图了,安装完成重启idea即可。idea配置docker的服务器1、在docker的服务器上进行配置[root@microservice ~]# vim /usr/lib/systemd/system/docker.service在ExecStart=/us
2021-03-10 19:03:01 1321 4
原创 Nginx使用同一个域名部署多个前端Angular项目
前言:现在基本上都是前后端分离的部署方式,前端可能项目很多,需要在同一个域名或ip部署多个前端项目的需求。环境描述:Centos7nginx 1.19.6部署的项目 angular使用docker 进行部署nginx的Docker部署nginx1、准备工作第一步 创建配置文件目录mkdir -p /usr/local/nginx/conf第二步 执行运行nginxdocker run --name nginx-test -d nginx:latest第三步 拷贝文件#把容
2021-03-04 11:19:37 983 1
原创 Centos7离线安装Docker和docker-compose
前言:有些特殊情况,服务器是在内网的无法连接外网安装docker。Docker官网也是提供了离线安装模式。根据不同的系统有环境要求,这块可以参考Docker官网 https://docs.docker.com/engine/install/环境要求:1、centos7以上(包含centos7)2、kernel内核:3.10及以上 查看命令 uname -r离线安装包:1、准备docker安装包和安装脚本Docker官方下载地址:https://download.docker.com/lin
2021-03-03 10:38:58 1460 4
XlSQL-Y8.zip
2019-07-30
Activemq同时支持多个Topic类型通信,并且配置添加到服务里面方便管理
2019-03-21
mysql\ SQLyog Enterprise 8.32 汉化绿色版_图形化MySQL数据库管理工具
2012-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人