自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 SpringBoot2整合支付宝进行沙箱支付

subject=香蕉&traceNo=121313123&totalAmount=1000(三个参数为:商品名称,订单号,交易金额)下载完成后,会发现文件夹中只有一个应用程序,而且双击启动显示启动失败,这个时候则需要在官网下载配置文件。文件,修改authtoken(值为购买隧道的authtoken,在上面的注册登录那里已经标注出来了)随后双击应用程序启动(windows系统双击即可,linux系统还需要配置,详见官网的教程)往下翻,找到运行natapp的那个目录,点击。登录后,进入主页,点击。

2024-02-20 19:22:33 934

原创 HTTPClient测试插件

在实际项目开发中,我们常使用Swagger在线接口文档进行接口测试,但是需要借助浏览器进入Swagger,最关键的就是它不能保存数据.在idea中有一个非常方便的http接口测试工具,httpclient,下面介绍它的使用方法。测试实例中,端口号是已经写死了的,如果我们修改了项目的端口号,则需要返回测试文件一个个的进行修改,因此,需要一个统一参数来解决这个硬编码的问题;随后添加参数,此处需要注意的是,参数必须是json类型,且参数和测试实例必须空一行。此为最基本用法,如想更深入的了解,请参考。

2024-01-22 09:00:29 438 1

原创 一.JVM本地锁

多线程并发的安全问题最典型的问题就是超卖问题或者少卖问题,举例来说:一个商品有500件,一个线程循环5次,每次取100,最后的结果应该是商品的库存归零,而在不处理问题且在高并发的情况下,就会出现商品库存不为零或者为负数的情况;因此,在集群模式中,本地锁会失去其效果。将压测工具中http请求的端口号换成80,即可进行测试,测试后查看数据库发现,商品库存并没有按照预料中的归零,则说明在集群环境下,JVM本地锁失效。在SpringMVC中,默认是单例模式,而如果切换成多例模式,也就是每个请求都对应一个新的对象;

2024-01-20 10:16:50 829

原创 Docker

依赖关系复杂,容易出现兼容性问题开发,测试,生产环境有差异docker如何解决依赖的兼容问题的?将应用的Libs(函数库),Deps(依赖)配置与应用一起打包将每个应用放到一个隔离容器去运行,避免相互干扰不同环境的操作系统不同, Ubuntu和CentOS都是基于Linus内核,只是系统应用不同,提供的函数库有差异,因此,Ubuntu上的nodejs是不能再CentOS上运行的;Docker如何解决不同系统环境变量的问题?Docker将用户程序与所需要调用的系统函数库一起打包。

2024-01-17 14:53:45 438

原创 六.链路追踪Sleuth入门(Sleuth+Zipkin)

Spring Cloud Sleuth 为 Spring Cloud 实现了分布式跟踪解决方案。兼容 Zipkin,HTrace 和其他基于日志的追踪系统,例如 ELK(Elasticsearch 、Logstash、 Kibana)。链路追踪:通过 Sleuth 可以很清楚的看出一个请求都经过了那些服务,可以很方便的理清服务间的调用关系等。

2024-01-15 08:46:39 1447 1

原创 五.微服务网关之Spring Cloud Gateway

在实际项目中,避免不了权限控制,但是在每一个微服务中都加入权限控制的代码又会造成大量的代码冗余;因此,需要在网关中添加一个全局过滤器进行全局的权限控制/*** @description: 自定义全局过滤器**/@OverrideString message = "{\"尚未登录!\"}";//包装字符串的字节来创建一个DateBuffer对象,该方法用于将字符串转换为字节数组@Overridereturn 0;

2024-01-12 10:18:24 343 1

原创 四.声明式REST客户端Fegin

作为Spring Cloud的子项目之一,SpringCloud OpenFeign是一种声明式,模板化的HTTP客户端,在SpringCloud中使用OpenFeign,可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求,同时OpenFeign通过集成Ribbon实现客户端的负载均衡。前后端分离的项目中,当传输的数据非常大的时候,使用JSON数据就会影响性能,所以就可以使用GZIP进行数据压缩进行性能调优。

2024-01-12 10:17:52 368 1

原创 集群,负载均衡

在SpringCloud的学习中,多次提到集群和负载均衡两个名词,这里稍微解释一下。

2024-01-12 10:17:20 332 1

原创 三.Nacos

本文档中的Nacos为Alibaba NacosNacos是阿里巴巴推出来的一个新开源项目,致力于帮助发现,配置和管理微服务.Nacos提供了一组简单易用的特性集,帮助快速实现动态服务发现,服务配置,服务元数据,及流量管理Nacos是以服务为主要服务对象的中间件,Nacos支持所有主流的服务发现,配置和管理,Nacos主要提供以下四个功能:nacos服务客户端(要注册到nacos的服务)启动时会每隔一段时间(默认5秒)向nacos发生心跳包,nacos注册中心15秒内没有检测到心跳包会默认认为nacos处于

2024-01-12 10:16:49 685 1

原创 二.微服务解决方案之Spring Cloud

Spring Cloud 是一系列框架的有序集合,它利用SpringBoot的开发便利简化了分布式系统的开发,比如服务发现,服务网关,服务路由,链路追踪等.Spring Cloud并不重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少各模块之间的开发成本,换句话说:Spring Cloud提供了构建分布式系统所需的"全家桶".

2024-01-12 10:16:16 313 1

原创 一.微服务发展史

微服务文档原文链接微服务文档译文链接2014年,微服务的概念传入中国,微服务架构是一种架构模式(架构风格),它将一个单体架构的应用按照业务划分为一个个的独立运行的程序,也就是服务,它们之间通过HTTP协议进行通信,可以根据实际业务采用不同的编程语言和存储技术(如:MySql,SqlServcer),自动化部署减少人为控制,降低出错概率。

2024-01-12 10:15:40 424 1

原创 SpringBoot构建企业级项目

身份认证是计算机及软件系统用于确认用户具有合法身份的一种技术手段,计算机系统和计算机网络是一个虚拟的数字世界.在这个数字世界里,一切信息都是用一组特定的数据来表示的,计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权,(哪些用户能够访问哪些资源,什么资源不能被访问),从而控制用户能够使用哪些系统资源,当用户登录后,系统会给用户分配系统资源访问权限,而这个权限是由管理员预先设定好的;),在该方法内部加载完用户信息后,返回一个实现了UserDetails接口的实现类。

2024-01-11 14:50:37 887 1

原创 SpringBoot高并发

是一个框架,实现了基于注解的缓存功能。只需要简单地加一个注解,就能实现缓存功能。Spring Cache提供了一层抽象,底层可以切换不同的cache实现。具体就是通过CacheManager接口来统一不同的缓存技术CacheManager是Spring提供的各种缓存技术抽象接口。描述使用EhCache作为缓存技术使用Google的GuavaCache作为缓存技术使用Redis作为缓存技术Redis是目前使用最广泛的内存数据存储系统之一。

2024-01-11 14:50:03 1363 1

原创 Spring Boot 数据访问与事务

事务的定义数据库事务可以包含一个或者多个数据库操作,但这些操作构成一个逻辑上的整体,这个逻辑整体中的数据库操作,要么全部执行成功,要么全部不执行,也就是说构成事务的所有操作,要么全都对数据产生影响,要么全都不产生影响,不管事务是否执行成功,数据库总是保持一致性的状态。事务的特性原子性一致性隔离性持久性(Durability),简称ACID原子性:事务所有操作作为一个整体,像原子一样不可分割。要么全部成功,要么全部失败一致性:事务的执行结果必须使数据库从一个一致性的状态到另一个一致性的状态。

2024-01-11 14:49:25 739 1

原创 SpringBoot底层原理解读

以Web应用中常用的验证码为例,一般使用kaptcha类库创建kaptcha-spring-boot-autoconfigure模块,修改pom.xml文件--指定项目的源代码版本,此处代码版本为Java8-->--指定项目的字节码版本,此处代码版本为Java8-->-- 方便IDE能够检测到该依赖中用到的配置属性,能够自动补全,其实就是在编译的时候在META-INF下面生成了一个spring-configuration-metadata.json文件-->

2024-01-11 14:48:34 1147 1

原创 SpringBoot开发Web应用

如果不做任何配置,webapps文件夹的所有文件都不会被编译到target/classes目录下的,更不会被打包到jar包中.这个时候则需要再pom.xml文件的build标签(如果没有就新增)中新增两个resource标签,分别用于打包src/main/webapps资源文件夹与src/main/resource资源文件夹。场景:如若我们使用的servlet等组件是第三方的,jar包中是只读,无法添加注解的,也就无法进行注解扫描,这个时候就得使用配置类的方式。4.5 采用配置类的方式注入组件。

2024-01-11 14:47:58 368 1

原创 无配置文件整合SSM框架

启用Spring MVC(Model-View-Controller)框架的功能和配置。:使用该注释配置类后,包含定义和配置Spring Bean类的方法。无配置文件整合ssm,本质上是将配置文件替换成了配置类。

2024-01-11 14:47:05 350

原创 SpringBoot入门

1.1简介:SpringBoot是一个集成了Spring技术栈的一个大整合框架,采用约定大于配置,去繁就简的原则,快速创建一个产品级别的Spring应用,简化J2EE开发1.2Boot版本号2:主版本,第几代1:次版本:一些功能的增加,但架构并没有多大变化,主版本的所有次版本都是互相兼容的6:增量版本:BUG的修复SNAPSHOT开发版M1,M2,M3里程碑版本RELEASE发布版SpringBoot和Springcloud之间的关系。

2024-01-11 14:44:45 841 1

原创 SpringBoot自动配置原理

以Web应用中常用的验证码为例,一般使用kaptcha类库创建kaptcha-spring-boot-autoconfigure模块,修改pom.xml文件--指定项目的源代码版本,此处代码版本为Java8-->--指定项目的字节码版本,此处代码版本为Java8-->-- 方便IDE能够检测到该依赖中用到的配置属性,能够自动补全,其实就是在编译的时候在META-INF下面生成了一个spring-configuration-metadata.json文件-->

2023-11-18 10:00:24 38

空空如也

空空如也

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

TA关注的人

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