自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 手写Nacos基本原理——服务注册 配置管理

之前在项目开发的过程中,对于Nacos的理解停留在实际运用层面。但是仅仅停留在运用层面是不够的。所以就对nacos的基本原理进行了理论学习,并且对nacos的服务注册包括健康检查机制(心跳机制),nacos的配置管理进行了代码实现。项目整体结构:1.有服务A和服务B分别集成了nacosSDK(类似与此前的项目引入了nacos的相关依赖);2.nacosService服务端中分别有两个核心的服务注册和配置管理。项目框架为spring boot框架配置文件具体类nacosSDK代码pom文

2023-07-25 09:09:19 328

原创 28个项目实战典型案例总结收获

花费了18天的时间,将28个实际项目开发过程中的出现的问题,都进行复盘重现和再次认识,并和团队进行进行讨论交流。最后也是写了28篇针对于每个案例的总结;每个案例都有明确优化和规避方案。下面让小编分享一下其中的收获吧。在28个项目实战典型案例的学习过程中,有困难及时询问,完成有风险及时向领导汇报。团队有效交流讨论的重要性,期间有好几个问题都是与他人交流,寻求帮助,讨论中收获到了意料之外的收获。

2023-03-18 15:20:48 848

原创 阿里云 短信服务——验证码盗刷与短信轰炸

最近在项目上使用到了阿里云的短信服务在忘记密码业务中发送短信验证码。出于对于日后的业务安全的考虑需要考虑到验证码盗刷以及短信轰炸对于公司以及用户造成的损失。本篇博客是参照阿里云官方文章中的对于验证码盗刷与短信轰炸的预防和具体解决措施,小编将其摘抄了出来分享给大家,希望对有这一块儿业务和安全考虑的读者提供帮助。

2024-02-22 10:46:08 647

原创 案例突破——再探策略模式

学习是一个反复的过程:通过项目切实的需求来结合具体的设计模式,在反过来在此基础上优化设计模式。

2023-09-30 21:00:00 2176

原创 案例挑战—java反射

在项目新架构中大量使用了反射,越发能够体会到反射的强大之处,是实现架构底层高复用、高扩展、高维护的实现方式之一。

2023-09-02 21:13:03 357

原创 【Spring Cloud 二】——Spring Cloud基本介绍

Spring Cloud是一个用于构建分布是系统和微服务架构的开发工具集合。Spring Cloud为开发人员提供了一套完整的工具,用于构建和管理分布式系统和微服务架构。它的各个组件可以根据项目的需要进行选择和集成,从而帮助开发团队更容易地构建高可用、可扩展的微服务应用程序。

2023-08-19 21:12:24 346

原创 【Spring Cloud 八】Spring Cloud Gateway网关

在项目中是使用了Gateway做统一的请求的入口,以及统一的跨域处理以及统一的token校验。但是这些工作都是之前的同事来做的,正好在新项目中也需要使用其进行统一的token校验。本着对Gateway更精进一步所以博主就对Gateway进行了较为全面的学习了解,包括动态路由、自定义过滤器、token校验和续活。

2023-08-17 21:02:44 585

原创 Spring Boot Admin 环境搭建与基本使用

本篇博客主要是对于Spring Boot Admin的基本认识和基本运用,通过本篇博客能够对Spring Boot Admin有一个宏观认知和能够快速上手。Spring Boot Admin还可以设置通知可报警,本篇博客并没有涉及到。

2023-08-08 10:09:22 475

原创 【Spring Cloud 七】Sleuth+Zipkin 链路追踪

目前开发的项目正是使用sleuth+zipkin的方式进行的链路追踪,为了对sleuth+zipkin这个技术点加深认识。博主对其进行了理论学习和实践。

2023-08-07 10:44:09 298

原创 【Spring Cloud 六】Hystrix熔断

目前开发的项目其微服务之间的熔断处理方式使用的就是Hystrix的方式,为了更加的体会到它代码的便捷和高效,所以博主对Hystrix进行了再次学习和实践,加强对Hystrix的整体理解。

2023-08-05 10:18:10 807

原创 【Spring Cloud 五】OpenFeign服务调用

在Spring Cloud中是OpenCluod的步骤主要是,引入openFeign依赖;启动类添加开启openFeign客户端;声明与服务端相同的方法并添加对应注册;需要注意根据项目情况配置调用服务的超时时间。

2023-08-04 09:46:42 1182

原创 【Spring Cloud 四】Ribbon负载均衡

Spring Cloud Ribbon它是一个基于HTTP和TCP的客户端负载均衡工具,它是基于Netflix Ribbon实现的。通过Spring Cloud的封装,可以让我们轻松的面向服务的REST模板请求自动转换为客户端负载均衡的服务调用。Ribbon主要干什么工作:它用在服务消费者需要调用多个相同功能的服务提供者实例时,帮助决定选择哪个服务提供者实例来完成调用。Ribbon可以通过多种负载均衡策略(随机、轮询、加权 、iphash)等方式,将请求分配到不同的服务实例上,以实现负载均衡和高可用。

2023-08-03 16:56:45 1691

原创 【Spring Cloud 三】Eureka服务注册与服务发现

目前公司项目使用的注册中心主要是Spring Cloud Alibaba的Nacos做的注册中心和配置中心。之前也是对Nacos的基本原理通过手写代码的方式进行了实现。出于对于Eureka的好奇所以就对Spring Cloud Neflix的Eureka进行理论学习和实践。Eureka是一个注册发现中心,Eureka是Netflix公司开源的一个服务注册与发现的组件。

2023-08-02 09:57:32 1540

原创 【Spring Cloud一】微服务基本知识

在实际项目开发过程中,目前负责开发的系统整体的架构采用的是微服务架构。对于微服务架构的认识只是停留在应用层面上,对于微服务的全貌并不是很清晰。最近想要对微服务的认知上更近一步,所以就重新梳理了一下微服务的基础知识。例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2023-08-01 09:16:04 1169

原创 Spring Boot——Spring Boot自动配置原理

一直在使用Spring Boot特别好奇的是为什么Spring Boot比Spring在项目构建和开发过程中要方便很多,无需编写大量的配置,Spring Boot自动给你配置好了。往往是集成项目依赖之后一键使用。于是小编我就学习和研究了一下Spring Boot的自动配置。

2023-07-28 15:40:15 445

原创 Spring Boot——Spring Boot启动原理

这只应用程序的listeners与设置初始化器(initializers)的方式相同,会从类路径的 META-INF/spring.factories 读取相应配置文件,读取配置文件中key为org.springframework.context.ApplicationListener对应的value。上面这段代码主要是通过加载 “spring.factories” 配置文件中指定类型的工厂名称,并创建对应的工厂实例,然后根据工厂实例的排序顺序返回一个排序后的工厂实例的集合。

2023-07-28 10:27:30 411

原创 【Maven四】——maven聚合和继承

由于在具体项目开发过程中对于maven的理解和掌握处于基本运用的阶段,了解maven过于片面,所以本篇博客是博主学习《maven实战》书籍之后对maven聚合和继承的总结,绝大多数内容源于《maven》实战这本书籍。随着技术飞速发展,各类用户对软件的要求越来越高,软件也变得越来越复杂。软件设计人员往往会采用各种方式对软件划分模块,已得到更加清晰的设计及更高的复用性。当把Maven应用到实际项目中的时候,也需要将项目分成不同的模块。

2023-07-19 10:02:20 339 1

原创 【Maven三】——maven生命周期和插件

由于在具体项目开发过程中对于maven的理解和掌握处于基本运用的阶段,了解maven过于片面,所以本篇博客是博主学习《maven实战》书籍之后对maven生命周期和插件的总结,绝大多数内容源于《maven》实战这本书籍。maven的生命周期是为了对所有的构建过程进行抽象和统一。这个生命周期包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成几乎所有构建步骤。几乎所有项目的构建,都能够映射到这样一个生命周期上。

2023-07-15 15:19:17 2379

原创 【Maven二】——maven仓库

由于在具体项目开发过程中对于maven的理解和掌握处于基本运用的阶段,了解maven过于片面,所以本篇博客是博主学习《maven实战》书籍之后的总结,绝大多数内容源于《maven》实战这本书籍。

2023-07-15 14:54:19 16743

原创 案例挑战——事务传播行为

此前在项目开发过程中,使用到了事务的传播行为。但是大多数情况下都是使用的事务默认的传播行为required。但是其实还有其他的传播行为。所以特地的回顾和学习了事务的多种传播行为。本篇博客从5w2h的角度来对事务的传播行为进行学习和实践。事务的传播行为其实指的是事务在多个方法之间的传播方式和规则。例如:当一个方法调用另一个方法时,如果这两个方法都涉及事务操作,事务的传播行为定义了如何处理这些嵌套的事物,以及事务如何在方法调用之间传播和管理。

2023-07-05 20:36:52 452

原创 案例挑战——你真的懂事务吗

最近在进行项目开发的过程中,由于ORM映射是我们自己手动实现的,其中涉及到了事务的开启和提交,以及在高并发的情况下如何保持数据的正确性。所以通过项目驱动,再次对事务进行学习和实践。一般是指要做的或者所做的事,在计算机语言中指访问并可能更新数据库中数据项的一个程序执行单元,在关系型数据库中,一个事物可以是一条SQL语句,一组SQL语句或整个程序。隔离级别越高,越能保证数据的完整性和一致性,但是对并发性能的影响也越大。对于多数应用程序,可以优先考虑把数据库系统的隔离级别设为Read Committed。

2023-06-27 09:09:26 176

原创 案例突破——悲观锁和乐观锁

悲观锁和乐观锁的出现是为了解决并发编程中的竞态条件和数据一致性问题。悲观锁适用于并发冲突概率较高、对数据一致性要求较高的场景,而乐观锁适用于并发冲突概率较低、对性能要求较高的场景。在具体应用中,需要根据实际情况评估并选择适合的锁机制,或者结合使用多种锁机制以达到更好的性能和数据一致性。

2023-06-23 09:41:44 867

原创 Hibernate框架【一】——HIbernate框架介绍

Hibernate是一个开源的Java对象关系映射(ORM)框架,它提供了一种方便的方式将Java对象与关系型数据库进行映射和交互。通过Hibernate,开发人员可以使用面向对象的方式操作数据库,而不需要直接编写SQL查询语句。

2023-06-17 09:34:10 5724

原创 Hibernate框架【五】——基本映射——多对多映射

**如何选择多对多的单向关联还是多项关联。主要取决于实际的业务需要。**1.如果只需要从一个实体导航到另一个实体,而无需反向导航,那么使用单向关联更为合适。2.如果不需要再两个实体上进行关系的维护,添加、删除、更新等,那么单向关联更合适。3.维护上:单向关联不会引入额外的的关系

2023-06-12 08:37:16 824

原创 Hibernate框架【四】——基本映射——多对一和一对多映射

由于公司项目上进行面向对象的架构设计对于ORM部分使用的是Spring Data JPA框架。将ORM完全交给Spring Data JPA框架,而Hibernate是Spring Data JPA的实现方式之一,通过对HIbernate框架的学习能够更好的理解ORM框架,以及Spring Data JPA框架。下面的博客是对于Hibernate框架中的基本映射中的多对一和一对多映射进行的实践,总结的并不全面,旨在多对一和一对多映射关系有一个宏观了解并能够进行基本运用。

2023-06-01 10:21:04 839

原创 Hibernate框架【三】——基本映射——一对一映射

由于公司项目上进行面向对象的架构设计对于ORM部分使用的是Spring Data JPA框架。将ORM完全交给Spring Data JPA框架,而Hibernate是Spring Data JPA的实现方式之一,通过对HIbernate框架的学习能够更好的理解ORM框架,以及Spring Data JPA框架。下面的博客是对于Hibernate框架中的基本映射中的一对一映射进行的实践,总结的并不全面,旨在对于一对一映射关系有一个宏观了解并能够进行基本运用。

2023-05-31 10:16:26 1861

原创 案例挑战——MVVM框架理解和实践

最近正在做新版项目的MVVM架构的结合业务的具体落地,前后与领导进行了多次的交流和沟通,从业务的简单例子入手更改了五版代码。最终输出了一版比较完善的符合MVVM架构和业务需求的模板代码。通过这次的案例挑战,对MVVM架构有了相对于此前更为深层次的理解,通过博客总结的方式进行记录和明确自己的收获。1. 通过这一次的案例挑战,对于MVVM架构有了更进一步的理解,理论结合实践,并且需要和高人进行交流和请教高人。2. 目前只是对MVVM架构有了一些理解,后续还需要再项目实践中进行刻意练习和思考。

2023-05-30 09:28:44 1312

原创 【Spring框架四】——Spring AOP 注解实现和xml方式实现

Spring AOP是Spring框架中的核心内容之一,本篇博客主要讲解的是如何使用Spring Aop通过本篇博客能够对什么是Spring AOP以及如何将Spring AOP运行到具体业务有一个清晰的步骤。本篇博客主要从两个维度实现Spring AOP 一个是使用纯xml文件方式,另一个是使用纯注解的方式实现。

2023-05-19 09:52:25 376 3

原创 【Spring框架二】——什么是Spring IOC、 什么是Spring 依赖注入

本篇博客主要讲解的是Spring 的IOC以及DI(依赖注入)的基本概念和优势利弊,如果想知道如何实现Spring IOC与DI可以访问博主的另外一篇博客。

2023-05-17 08:48:30 1347 2

原创 【Spring框架三】——Spirng IOC和DI的实现

本篇博客主要总结的是以Spring 5为例,通过XML方式和注解的方式分别实现IOC和DI。并使用Spring5 进行基础运用。XML和注解实现的IOC和DI是两种不同的方式,它们都可以用于管理应用程序中的组件和依赖关系。在实际开发中,通常使用注解来代替XML,这是因为注解更加方便、简洁和易于维护,而且可以让开发者更加专注于业务逻辑的实现。相比之下,XML需要编写更多的代码,需要手动配置依赖关系,维护起来相对麻烦一些。

2023-05-13 09:14:59 1487 5

原创 【Spring框架一】——Spring框架简介

Spring框架最初是由Rod Johnson在2002年创建的,其主要目的是为了解决企业应用程序开发中面临的一些常见问题。下面主要是对于Spring框架的介绍包括什么是Spring框架?Spring框架解决了什么问题?Spring是基础设施和服务,Spring Boot是基于Spring构建的快速开发框架,Spring Cloud是基于Spring Boot构建的分布式系统框架。开发人员可以根据自己的需要选择使用Spring、Spring Boot或Spring Cloud。

2023-05-08 21:00:26 3130 2

原创 项目实战——获取树形结构

我们在开发中时常会遇到需要用到树形结构这种表示层级关系的结构来表示数据,层级关系明确用户能够很直观的理解彼此的关系。例如:本篇博客主要是总结从一张字段具有父子关系的表中查询并将其转换成树形结构通常需要怎么做,具体步骤是什么?以此来解决后序需要类似的问题如何快速实现或者是有思路,将经历转变为自己的经验。通过这次博客总结对于查询树形结构有了更深的熟悉度和常用思路。另外对于获取树形结构的另外一种方式,创建临时表的方式也有了一定的了解。以至于自己下一次遇到类似的问题多了一个思考的维度。

2023-05-06 09:03:19 867

原创 Java序列化

序列化(Serialization):指将对象转换成可传输格式的过程,以便在需要时可以将其还原成原始对象。在Java中,对象序列化将对象转换为一系列字节流,这些字节流可以写入文件或通过网络传输,并且可以在需要时重新创建相同的对象。博主整理和总结的关于Java序列化的知识还是很片面,算是一个阶段性总结,关于Java序列化还需要对计算机网络、远程调用、ORM等等理解更深入才能对Java序列化有更全面的理解。

2023-04-15 10:43:25 454 1

原创 前端接收后端数据时,遇到精度丢失的问题

之前项目开发过程中遇到过前端接收后端数据时,遇到精度丢失的问题。当时进行了问题记录,本篇博客针对于这个问题进行问题原因并进行多种方式解决这个问题。

2023-04-12 21:30:06 3751 2

原创 token详解

本篇博客主要从什么是token?为什么要使用token?如何使用token?项目实例这几个方面讲解token,通过本篇博客能够对token能够有更深入的理解,并且有思路应用在具体项目中。多角度看问题,多个维度看问题能够更加深入的理解和学习到该知识点。例如5w2h的方式。

2023-04-11 21:24:04 2735 1

原创 解决跨域问题

之前在项目开发过程中,出现并解决了跨域问题。现在来对跨域问题进行一个系统的学习和总结。通过本篇博客可以了解到解决跨域问题有哪些方法,并且详细介绍了CORS方法来解决跨域问题。$ . ajax() 是jQuery库提供的一个函数,用于向服务器发起异步 HTTP 请求。它可以执行多种类型的 HTTP 请求,如 GET 、 POST 、 PUT 、 DELETE 等。使用$ . ajax() 函数,我们可以向服务器发送数据并获取响应,而无需刷新整个页面。

2023-04-04 09:23:48 606

原创 【创作赢红包】Nginx四——Nginx实现负载均衡的多种策略

本篇博客主要介绍Nginx实现负载均衡的多种策略,包括轮询、最少连接、IP哈希、加权轮询、URL哈希。

2023-04-01 09:42:03 2342 3

原创 【Nginx三】——Nginx实现反向代理

本篇博客主要介绍Nginx如何实现反向代理,会进行介绍什么是反向代理,以及进行实例实现反向代理。不难看出反向代理对于客户端来说不知道目的服务器,客户端只知道请求代理服务器能够获取到需要的资源。而代理服务器可以通过相应的配置拦截前往我们后端服务器的客户端的请求,通过这样做,代理服务器可以保护目的服务器的身份并作为对安全攻击的额外防御。

2023-03-30 17:17:49 2055

原创 maven命令上传jar包到nexus

通过maven官网了解到通过maven插件部署到远程存储库主要有两种方式,一种是项目集成了maven可以通过maven的deploy:deploy实现;另一种是项目没有集成maven我们可以在命令提示符中使用deploy:deploy-file命令实现。

2023-03-28 08:57:25 2169

原创 【Nginx二】——Nginx常用命令 配置文件

安装完成nginx后,输入 nginx -?查询nginx命令行参数.整个配置文件有指令控制的模块组成,指令分为简单指令和快指令。一个见得指令由名称和空格分隔的参数组成并以分号";"结尾。块指令具有与简单指令相同的结构,但是它是以一组大括号"{}"包围。当然快指令中还可以有其他指令和块指令。

2023-03-22 09:41:28 996

spring -data-jpa-crud

demo为spring boot项目 环境: 目前的程序环境是spring boot项目,JDK8.0,MySQL Connector / J 8.0(8.0版本支持java8及其以上的版本,支持5.6、5.7、8.0版本的mysql数据库,支持4.2版本的jdbc)。 如何使用: 只需要在application.yml文件中修改连接数据库的地址和数据库名以及账号和密码就可以一键使用。Spring Data JPA 自动提供CRUD的实现,能够部分解放工程师们的工作量。

2022-11-20

Spring Data JPA之自动创建数据库表demo

demo为spring boot项目 环境: 目前的程序环境是spring boot项目,JDK8.0,MySQL Connector / J 8.0(8.0版本支持java8及其以上的版本,支持5.6、5.7、8.0版本的mysql数据库,支持4.2版本的jdbc)。 如何使用: 只需要在application.yml文件中修改连接数据库的地址和数据库名以及账号和密码就可以一键使用。

2022-11-19

nexus-3.42.0-01-unix.tar.gz

资源为 Nexus Repository 3.42.0,为目前最新的版本。 适用的操作系统Operating System:Unix archive 下载到本地之后上传到linux服务器解压安装

2022-10-24

空空如也

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

TA关注的人

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