- 博客(189)
- 收藏
- 关注
原创 SpringCloud之网关组件Gateway学习
Spring Cloud Gateway是Spring Cloud的⼀个全新项目,⽬标是取代Netflix Zuul,它基于Spring5.0+SpringBoot2.0+WebFlux(基于高性能的Reactor模式响应式通信框架Netty,异步⾮阻塞模型)等技术开发,性能⾼于Zuul,官方测试,Gateway是Zuul的1.6倍,旨在为微服务架构提供种简单有效的统⼀的API路由管理方式。Spring Cloud Gateway不仅提供统的路由方式(反向代理)并且基于 Filter(定义过滤器对请求过滤,
2024-03-23 22:50:25 941
原创 MQ之Spring AMQP学习
AMQP是Advanced Message Queuing Protocol的缩写。AMQP是用于在应用程序之间传递消息的开放标准,该协议与语言和平台无关,更符合微服务中独立性的要求。Spring AMQP是基于AMQP协议定义的一套API规范,提供了模版来发送和接收消息,包含两部分,其中spring-amqp是基础抽象,spring-rabbit是底层的默认实现。
2024-03-19 22:22:46 909 1
原创 MQ组件之RabbitMQ学习
下图是RabbitMQ管理后台的预览页面,展示了RabbitMQ节点的相关信息,如节点的名字、状态、运行时间等下图Connections(连接)页面,在这个页面查看、管理和关闭当前所有的TCP连接。下图是Channels(通道)页面,这里展示了所有当前打开的通道以及它们的详细信息下图是Exchanges(交换机)页面,这里可以查看、创建和删除交换机。交换机是RabbitMQ消息路由的重要组成部分,它决定了消息如何被路由到正确的队列。下图是Queues(队列)页面,可以在这里看到所有的队列。
2024-03-17 14:51:16 776
原创 Spring Cloud2022之OpenFeign使用以及部分源码分析
Feign是Netflix开发的⼀个轻量级RESTful的HTTP服务客户端,可以使用⽤它来发起请求,进行远程调用。Fegin是以Java接口注解的⽅式调⽤Http请求,而不是像RestTemplate那样,在Java中通过封装HTTP请求报⽂的⽅式直接调用。Feign可帮助我们更加便捷,优雅的调⽤HTTP API:不需要我们去拼接url然后调⽤restTemplate的api,但是Fegin的缺点缺点,它不支持SpringMVC的注解。
2024-02-29 22:52:36 830 2
原创 SpringCloud Alibaba 2022之Nacos学习
Nacos是 Dynamic Naming and Configuration Service 的首字母简称,Naocs是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos概述Nacos下载其实下载的是Nacos Server,我们下载启动Nacos Server后,访问8848端口就可以看到Nacos Server的登录页面了。默认登录用户名和密码都是Nacos。Nacos下载。
2024-02-25 17:28:42 1114
原创 t项目启动报错org/springframework/cloud/bootstrap/RefreshBootstrapRegistryInitializer has been compiled by
jar包的字节码编译版本和项目使用的JDK版本不一致导致的。调整项目的JDK版本即可。请确保下面的设置中的JDK版本是正确的版本。
2023-12-13 22:50:51 203
原创 SpringBoot整合Sharding-Jdbc实现分库分表和分布式全局id
sharding-jdbc是客户端代理的数据库中间件;它和MyCat最大的不同是sharding-jdbc支持库内分表。
2023-11-27 23:36:02 564
原创 MySQL主从环境搭建
在主机中打开mysql命令行,执行下面的命令,创建从机连接主机的账号以及设置权限。slave是用户名称;192.168.200.225是登录域名,这里是从机的ip;123123是登录密码设置权限,这里给了这个账号所有的权限。通过下面的命令查看账号拥有的权限。
2023-11-12 23:47:30 202
原创 虚拟机复制后,无法ping通问题解决
如果是网卡重复,先移除虚拟机的网卡,然后重新添加网卡,这样MAC地址就不会重复;但是这样有一个问题,添加的新的网卡是无法使用原来的配置文件的,所以需要修改配置文件的名称。如果是ip重复的话,一般复制虚拟机时都会改成静态ip,所以直接修改配置文件中的ip即可。修改后,使用ifconfig命令,网卡可能会变成其它的名称,比如ens37。修改网卡前,使用ifconfig命令,可以看到网卡是是ens33。将配置文件中的这两项改成新的网卡名称。先移除网卡,然后重新添加网卡。
2023-11-09 22:50:30 539
原创 CentOS7安装MySQL
初次安装MySQL时rooyt账户是没有密码的,我们要登录然后设置密码。如果使用命令下面的目录没有找到3306端口。则需要使用下面的命令,添加需要监听的端口。登录MySQL命令行设置允许远程连接。1、mysql服务没有启动;如果报了下面的错,不用管。2、可能是防火墙的问题。设置root账号密码。
2023-11-05 23:43:10 125
原创 Spring Event学习
观察者模式是一种行为设计模式,它定义了对象之间的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。在这个模式中,改变状态的对象被称为主题,依赖的对象被称为观察者。
2023-10-29 17:15:16 259
原创 Flutter项目安装到Android手机一直显示在assembledebug
Flutter项目安装到Android手机一直显示在assembledebug。
2023-10-04 12:02:43 663
原创 SpringBoot启动输出了Mybatis-plus和Pagehelper的图标的解决方法
mybatis-plus可以通过下面的配置关闭图标输出。
2023-09-17 17:26:52 706
原创 FastDFS安装教程
需要的软件:fastdfs-6.0.4、libfastcommon-1.0.42、fastdfs-nginx-module-1.22.tar.gz。
2023-08-12 15:57:22 294
原创 使用Dockerfile构建镜像
创建一个空目录 docker进入此目录cd docker创建并编辑DockerFile文件docekrfile文件执行是从上往下顺序执行的。
2023-08-06 11:48:57 198
原创 SpringBoot整合Elasticsearch
本文使用第一种方式。使用官方推荐的RestHighLevelClient操作ES。由于版本兼容问题,请选择和Elasticsearch对应的Java客户端版本。
2023-07-26 22:52:19 2344
原创 Linux下安装Elasticsearch以及ES-head插件
由于Elasticsearch客户端版本和ElasticSearch版本有对应关系,所以建议安装之前先考虑安装哪个版本的ElasticSearch。
2023-07-18 22:17:06 909 1
原创 压测工具Jmeter学习
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器等等。
2023-06-17 17:18:05 1761
原创 Mybatis学习之插件
创建自定义插件类实现Interceptor接口;使用@Intercepts注解:指定插件拦截四大对象中指定对象的指定方法;在全局配置文件中注册插件这里使用@Intercepts注解指定了拦截Executor对象的update方法和query方法,由于接口中存在重载方法,所以通过args指定方法的参数来确定是哪一个方法。/*** 拦截目标对象的目标方法的执行System . out . println("要拦截的方法: " + invocation . getMethod());
2023-06-14 22:54:21 3795
原创 Mybatis源码学习之全局配置文件和映射文件解析
2、parse方法则是调用了XPath对象的evalNode方法对配置文件中的configuration节点进行解析,会把节点内容放在XNode对象中然后返回;3、parseConfiguration方法会对configuration节点解析出来的内容再进行解析,会把解析出来的内容放在configuration对象中;
2023-06-12 20:29:15 491
原创 mybatis源码学习之mybatis执行流程分析
2、parse方法则是调用了XPath对象的evalNode方法对配置文件中的configuration节点进行解析,会把节点内容放在XNode对象中然后返回;3、parseConfiguration方法会对configuration节点解析出来的内容再进行解析,会把解析出来的内容放在configuration对象中;
2023-06-04 22:07:22 568
原创 Activiti7学习笔记
Alfresco 软件在 2010 年 5 月 17 日宣布 Activiti 业务流程管理(BPM)开源项目的正式启动,其首席架构师由业务流程管理 BPM 的专家 Tom Baeyens 担任,Tom Baeyens 就是原来 jbpm 的架构师,而 jbpm 是一个非常有名的工作流引擎,当然 activiti 也是一个工作流引擎。Activiti 是一个工作流引擎, activiti 可以将业务系统中复杂的业务流程抽取出来,使用专门的。
2023-05-27 13:18:36 779
原创 前后端跨域问题java.lang.IllegalArgumentException: When allowCredentials is true, allowedOrigins cannot cont
SpringBoot升级2.4.0之后,跨域配置中的.allowedOrigins方法不能继续使用;而我的SpringBoot版本是2.7,所以报了这个错误。使用addAllowedOriginPattern方法代替addAllowedOrigin方法。
2023-05-03 21:50:08 197 1
原创 SpringSecurity框架学习与使用
request . antMatchers("/") . permitAll() . antMatchers("/home") . permitAll() // /home、/ 的请求可以访问 . antMatchers("/test/test1") . hasRole("SALES") . antMatchers("/test/test2") . hasAuthority("admin") . anyRequest() . authenticated();//除了上面的,其它的请求必须认证通过 });
2023-05-01 22:22:18 3223
原创 owner-Java Properties配置文件管理工具
wner 是一个 java 库,旨在减少通过 properties 文件来处理应用程序配置的代码。它已经打包成一个 jar 文件,你也可以从 Maven 中央仓库下载。开发此 API 是受 GWT i18n 启迪(点此查看)。使用 GWT i18n 来加载配置文件有一个问题,那就是它仅仅适用于客户端代码(JavaScript),不是标准的 java 类。此外,GWT 是一个大的库,它是为了很多用途而设计,并不仅仅针对配置文件。
2023-04-16 13:50:38 210
原创 Android中实现滑动的7种方法
Android中实现滑动的7种方法前置知识Android坐标系视图坐标系触控事件---MotionEvent获取坐标的方法实现滑动的7种方法layout方法offsetLeftAndRight()和offsetTopAndBottom()LayoutParamsscrollTo和scrollByScroller属性动画ViewDragHelper参考前置知识Android坐标系Android坐标系以屏幕的左上角这个点为原点,向右为x轴正方向,向下为y轴正方向;可以使用getLocationOnScre
2023-03-11 18:22:59 2198
原创 Android学习之帧动画和视图动画
属性动画fragment动画帧动画补间动画补间动画也被称为属性动画。补间动画分为四种,分别是透明、旋转、平移、缩放;这四种动画在使用时都需要传入参数,这里列出它们的参数的意思:布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android
2023-03-11 18:22:30 392
原创 Android学习之WebView
什么是WebViewWebView是Android中UI组件的一种,WebView基于webkit内核,不过由于兼容性的原因在Android5.0后改为了Chromium内核。WebView可以用来展示网页,常用于我们不想打开浏览器但又想浏览网页的情况。WebView的使用WebVeiw的常用方法加载网页的四种方式loadUrl(String url) //打开百度网页 webView.loadUrl("https://www.baidu.com/"); //打开sdcard卡的html页
2023-03-11 18:22:25 1624
原创 Java之线程总结一
Java之线程总结一线程实现方式官方文档说的是实现线程的方式有两种;本质上只有一种,就是构造Thread类,而实现线程执行单元的方式有两种:继承Thread类,重写run方法;实现Runnable接口的run方法,把Runnable接口的实现类传递给Thread;思考题,同时使用上面说的两种方式执行线程的结果是什么样的?也就是以下代码的执行结果是?public class BothRunnableThread { public static void main(String[] a
2023-03-11 18:21:05 283
原创 Android项目中gradle文件的内容详解
android项目中一般会有2个gradle文件,一个是整个项目的gradle文件,另一个是模块的gradle文件,如果有多个模块,gradle文件的个数也会随之增加。项目的gradle文件内容详解// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositories { google()
2023-03-11 18:19:51 289
原创 Android之事件机制
Android之事件机制MotionEvent事件的分发与处理触屏事件的类型触摸事件发生的位置触摸事件的分发和处理用于分发和处理的方法事件分发和处理的过程KeyEvent参考MotionEvent事件的分发与处理在我们日常使用app的时候会进行各种各样的触摸操作,比如点击、长按等,那么app是如何对我们的各种操作进行处理的呢?这就要提到Android中的事件分发和处理了。对于我们在屏幕的任何一个操作,系统会创建一个MotionEvent对象来对应这个操作, 然后会对操作产生的事件进行处理,通过Motio
2023-03-11 18:19:46 240
原创 Android中class文件和dex文件
class文件jvm在生成class文件的时候,会默认给我们填充父类等信息,这就是为什么能够调用super关键字的原因。majic:加密段,用来判断class文件是否被篡改过;minor_version:当前class文件最小适配的版本majconstant_:常量池的数量constant_pool:真正的常量池,cp_info结构体类型access_flags:当前class文件的作用域标识,比如Publicthis_class:super_class:jvm虚拟机会默认给我们填充当前
2023-03-11 18:18:36 462
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人