自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tiantiantbtb的博客

阿米阿米阿乌

  • 博客(580)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 JDBC基础Demo

-指定启动类-->maven-shade-plugin增删改 以配置文件方式 配置文件放在resources下。resources下创建jdbc.properties。

2024-08-21 14:59:30 525

原创 模拟JDBC本质

编译之后 以后无需再次编译源码 只需要改配置文件。利用反射,但是这种方式,还是需要重新编译。编译所有文件,并运行。如果换成Oracle。以读取配置文件的方式。

2024-08-21 04:50:10 182

原创 maven项目构建包含依赖的jar包插件

但是 如果这样直接打包的话,是不会将所需要的依赖打包进去的。我的项目就一个包含main方法的java类。并且 如果你直接启动jar包。项目中引入了mysql依赖。

2024-08-20 09:32:46 214

原创 JDBC标准

各个数据库厂商会提供自己的JDBC驱动程序,简单说就是我已经按你标准实现好了,你无需关注底层逻辑,只要照着标准,比如说我现在要个连接,那么你就去getConnection就可以了.不需要管这个连接如何来的.各个厂商都有专业的人在负责维护他们的驱动,没有人比他们更加了解.这样做,对于程序员而言我们只需熟悉JDBC接口和里面的方法即可.大大降低了学习成本.两阶段提交是一种用于分布式系统中保证事务一致性的协议.它的目的是确保再分布式环境中,所有参与事务的数据库要么都成功提交事务,要么都回滚,以保证系统的一致性.

2024-08-20 06:24:42 940

原创 maven项目的目录结构

今天用jdk17创建maven项目时候出的问题。可以创建.java文件了。

2024-08-20 04:10:06 318

原创 静态块,实例块,构造方法执行顺序

静态初始化块执行创建第一个对象:实例初始化块执行构造方法执行创建第二个对象:实例初始化块执行构造方法执行。

2024-08-14 21:04:25 261

原创 final

final修饰类,该类不能被子类继承,也就无法创建该类的子类。如果是static final必须声明同时初始化。final做为成员变量之后,可以在3个地方赋值。final修饰方法时,该方法不能被子类重写。final修饰成员变量之后,值不能被修改。3.实例块中赋值 {xxx=xxx}

2024-08-14 21:00:56 563

原创 后端处理跨域

/ 返回新的CorsFilter。// 添加映射路径,拦截一切请求。// 设置访问源请求方法。// 有效期 1800秒。// 设置访问源请求头。// 设置访问源地址。

2024-08-12 03:00:55 424

原创 前端处理跨域

/ 例如,访问 /api/user 将会被代理到 http://localhost:8088/user。// 如果为 true,代理服务器会将目标地址作为请求的 host。// 如果请求路径中包含 /api 字符串,则将其替换为空。// 是否支持 websocket,默认为 true。// 用于控制请求头中的 host 值。// 配置要代理的服务器地址。

2024-08-12 02:54:44 654

原创 生成验证码图片工具类

可以自定义过滤器 在过滤器里验证验证码 登录里只验证用户名和密码。

2024-08-11 09:03:05 143

原创 xxl-job

创建数据库,导入表 注意 如果没有xxl_job库 会自动创建。启动自己的业务应用 下面有与SpringBoot整合的例子。appname 再执行器配置时候要用 启动应用。默认账密 admin 123456。修改xxl-job数据库连接 启动。配置代码 (自己下载看下) 和示例。新增执行器 已经有默认例子。配置报警给对方发邮件的邮箱。

2024-08-11 05:59:55 436

原创 自定义starter

在META-INF下新建spring.factories。install打包到本地仓库 其他项目可以引入了。如果是SpringBoot2.7之前。

2024-08-09 22:36:24 362

原创 SpringBoot静态资源映射及跨域配置

【代码】SpringBoot静态资源映射及跨域配置。

2024-08-09 16:20:02 118

原创 RESTFUL风格和传统访问方式区别

很多RESTFUL风格的访问地址都是一样的,只是行为动作区分了,对外隐藏了真实操作。

2024-08-09 14:31:44 212

原创 SpringBoot3热部署

引入依赖默认就是,无需配置可以了。

2024-08-08 23:06:11 372

原创 SpringBoot Actuator

对应用进行观测,监控,预警健康状况[组件状态,存活状态] health 健康端点:返回存活,死亡. Health对象运行指标[CPU,内存,垃圾回收,吞吐量,响应成功率] Metrics 指标监控端点:访问次数/率等等链路追踪等等引入web和actuator依赖 在不做任何配置情况下--可观测场景启动器 线上指标监控,运行状态监控-->访问:IP:端口/actuator暴露指标#暴露所有监控断点信息。

2024-08-08 19:02:36 700

原创 Linux设置临时环境变量

例如 服务器安装了好几个java JDK版本 环境变量配置的是JDK8 可有时启动某些应用时候需要临时改变环境变量。当然 你也可以通过 指定java命令目录。这样 该临时环境变量只在当前窗口会话生效。

2024-08-08 18:23:08 265

原创 centos上传工具

安装完成之后 作用是。

2024-08-08 18:12:59 335

原创 关于WebMvcConfigurer

用WebMvcProperties------->application.properties中 spring.mvc前缀来配置。WebProperties-------->application.properties中 spring.web前缀来配置。默认用的WebMvcAutoConfiguration实现WebMvcConfigurer。提供了配置SpringMVC底层的所有组件入口。

2024-08-08 15:23:51 355

原创 SpringBoot排除默认日志框架

application.properties中的配置无需改变,自动装配会根据条件(哪个日志的.class是否存在) 进行切换。只要切换日志配置文件就好 比如原来使用的logback-spring.xml换成log4j2-spring.xml。默认用的logback。

2024-08-08 06:12:04 239

原创 SpringBoot-application.properties为对象赋值

例如现在有 以下几个类 我希望应用启动好之后这个Person内的数据通过application.properties配置。首先让该Bean交由Spring管理,然后加上@ConfigurationProperties(prefix="前缀")还可以通过@PropertiesSource("classpath:指定配置文件")使用@EnableConfigurationProperties。忘记写set get方法了 或者加@Data注解。上面四个类都加上@Data注解。启动可以看到该实例已经有值了。

2024-08-08 02:19:58 220

原创 为什么要用分布式锁

数据库有条数据 id为1 count为500 现在A应用需要给这条数据的count加20 B应用需要给这条数据的count加30。试想,在分布式下,有没有可能出现多个应用中的线程同时去修改同一个数据资源的并大问题。那么这种情况下 去update的时候就会出现 数据与真实不一致的情况。A应用线程查出来 id为1的这条数据 现在的count是500。B应用线程查出来 id为1的这条数据 现在的count也是500。A应用的线程和B应用的线程同时去修改数据库中的某条数据。

2024-08-07 01:17:38 154

原创 SpringBoot+Mybatis 分页

合理化分页参数,避免异常页码导致的错误 启用后,当 pageNum 小于等于 0 时,会自动查询第一页的数据;持久层 PageHelper会拦截sql 拼接 select * from xxx limit (pageNum-1)*pageSize,pageSize。无论多数据源,还是单数据源,分页都一样,刚开始出了点错,是因为PageHelper的版本问题。#支持通过方法参数传递分页参数 PageHelper.startPage(1,2)#PageHelper 配置。PageHelper配置。

2024-08-06 22:18:33 450

原创 dynamic-datasource+Mybatis多数据源使用

严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源。#设置默认的数据源或者数据源组,默认值即为master。#去掉默认使用HikariCP。

2024-08-06 18:34:57 984

原创 Mybatis-plus乐观锁

而此时第二个线程去update的时候 由于原先查出来版本号还是原来的 会导致更新不成功 那么在事务的驱动下,全部回滚。并发安全问题不是次次发生,是偶尔很小几率发生的事,但是这个几率是确实存在的。有两个线程都在查询数据库 查出来都是 1 500。现在两个线程都要修改这条数据 在原来基础上+20 和+30。第一个线程去update的时候 顺手将版本号加了1。当两个线程都在查 查出来 1 500。可是第二个线程查出来也是500 加了30。可是实际有可能是530。

2024-08-06 04:13:14 1008

原创 EMQX服务器安装MQTT测试

账号admin 密码 public。

2024-08-06 01:24:55 302

原创 SpringBoot+Redis 发布与订阅

【代码】SpringBoot+Redis 发布与订阅。

2024-08-05 23:45:58 548

原创 Spring Cache

【代码】Spring cache。

2024-08-05 23:13:45 81

原创 SpringBoot-Redisson

且暂看出RedisTemplate的增强版本。

2024-08-05 19:35:25 112

原创 SpringBoot整合Redis

application.properties中关于Redis的配置。Redis默认用的是JDK序列化。再使用redisTemplate。引入了web和redis依赖。

2024-08-05 17:54:09 376

原创 java接口

曾经老师说,接口里都是常量和抽象方法 现在是接口里都是常量 可以有默认实现 可以有私有方法 和静态方法(public和静态私有)接口扩展可以将默认实现方法重新定义为抽象方法。

2024-08-05 16:22:02 378

原创 SpringBoot多数据源事务处理

本来可以自己注入自己去调用 (为什么要自己注入自己调用,AOP代理,类不是自己写的类)SpringBoot 2.6.0之后禁止自己注入自己。不可能去同一个方法上写两个事务注解 不允许。多数据源时,一般会配置多个事务管理器。

2024-08-04 19:24:55 326

原创 RocketMQ整合SpringBoot事务消息

根据本地事务的执行结果,生产者向 Broker 提交事务状态(COMMIT、ROLLBACK 或 UNKNOWN)。如果提交成功,半消息会被转换为正式消息,并且可以被消费者消费;如果回滚,半消息会被删除。半消息的作用是先占据一个位置,但不会被消费者消费,直到事务提交成功。:如果 Broker 未能及时收到生产者的提交状态,或者收到的是 UNKNOWN 状态,Broker 会定期回调生产者的。:当事务消息被提交后,消费者可以正常消费这条消息。消费者接收并处理消息的逻辑与普通消息相同。

2024-08-04 04:06:56 259

原创 本地项目提交到Gitee

git remote add origin https://gitee.com/xxxx/xxxx.git 添加远程仓库。git push -u origin master 提交 -u是为了以后直接使用 gitpush。git commit -m "Initial commit" 提交到本地。可以在黑屏输入命令 也可以在项目里面 命令都是一样的。git add . 添加所有文件。在项目目录 右键 git bash here。测试demo 没有内容。

2024-08-04 01:24:02 334

原创 RocketMQ消息汇总

当物理文件删除了 队列中的下标的消息也被删除了 但是即使物理删除了 队列中的偏移量还是会持续上升每天凌晨4点 定时清理在 RocketMQ 中,消息的物理删除是通过定期清理 CommitLog 文件来实现的。CommitLog 文件中存储的是所有主题和队列的消息,一旦这些文件中的数据超过了文件保留时间()或者文件大小限制,老旧的文件将会被删除。对于 ConsumeQueue 文件,它们的清理依赖于 CommitLog。

2024-08-04 00:36:35 723

原创 对象序列化与反序列化方法

public static byte[] serialize(Object object) throws IOException { try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream)) {

2024-08-02 19:03:41 291

原创 RocketMQ整合SpringBoot普通消息

-匹配服务器的RocketMQ5.3.0-->

2024-08-02 12:55:39 239

原创 Linux安装Nodejs

设置 NameServer 地址,可以配置多个地址,用分号分隔。# 设置 NameServer 地址,可以配置多个地址,用分号分隔。# 将各个工具的 bin 目录添加到 PATH 环境变量中。# 将各个工具的 bin 目录添加到 PATH 环境变量中。# 设置 RocketMQ 环境。# 设置 RocketMQ 环境。# 设置 Node.js 环境。# 设置 Node.js 环境。# 设置 Maven 环境。# 设置 Maven 环境。# 设置 Java 环境。# 设置 Java 环境。

2024-08-01 17:20:14 892

原创 RocketMQ事务消息

RocketMQ消息发送基本示例(推送消费者)-CSDN博客RocketMQ消费者主动拉取消息示例-CSDN博客RocketMQ顺序消息-CSDN博客RocketMQ广播消息-CSDN博客RocketMQ延时消息-CSDN博客RocketMQ批量消息-CSDN博客https://blog.csdn.net/tiantiantbtb/article/details/140844693?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22a

2024-08-01 15:20:31 156

原创 RocketMQ过滤消息

为 "NEW",这样他们只会接收订单 1 的状态更新消息,而不会接收其他状态更新的消息。消费者可以选择订阅 "order_updates" 主题,并指定。在broker.conf配置 开启sql92过滤。就是说选定主题topic和tag来获取需要的数据。生产者把消息放到同一个topic的不同tag中。注意::::: 说明没有开启sql92过滤。另外消费者订阅时候可以同时订阅多个tag。例如在生产者发消息前设置个属性。2.复杂的用SQL表达式。使用SQL方式实现过滤。

2024-08-01 15:17:23 352

oracle数据库win32 win64 linux64

win32 win64 linux64

2022-04-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除