自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第六篇:装饰器模式的应用

装饰器模式属于结构型设计模式,它允许在运行时动态地向对象添加新的行为,同时保持对象的接口不变。这意味着你可以将一个对象包装在另一个对象中,从而为其增加新的功能,而不需要修改原始对象的代码。这种模式有助于遵循开闭原则(Open/Closed Principle),即软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。当您需要为一个类添加功能,但又不希望修改其源代码时。当您有多个装饰器可用于组合,以实现不同的组合效果。当您希望将对象的功能分离成不同的层次,以便分别添加或删除功能。

2023-09-28 15:11:50 438

原创 第五篇:观察者模式的事件驱动

观察者模式,又称为发布-订阅模式,是一种设计模式,用于定义一种对象之间的依赖关系,使得一个对象的状态改变时,其所有依赖对象都会得到通知并自动更新。这种模式提供了一种松耦合的方式,使得主题对象(被观察者)和观察者对象之间能够独立演化,互不影响。主题(Subject):也称为被观察者,它维护一组观察者对象,并通知它们状态的变化。观察者(Observer):观察主题的对象,当主题状态发生改变时,观察者会得到通知并执行相应的操作。

2023-09-27 16:45:49 158

原创 Spring框架中的模板方法模式

在软件开发中,设计模式是解决常见问题的经验总结,能够提供一种优雅的解决方案。Spring框架作为一个开发Java应用程序的强大工具,积极采用和借鉴了多种设计模式,其中依赖注入(Dependency Injection,DI)和控制反转(Inversion of Control,IoC)是其核心概念和设计原则。除了DI和IoC,另一个常用的设计模式是模板方法模式(Template Method Pattern),它在Spring中的应用同样具有重要意义。

2023-06-12 11:00:02 1236

原创 深入解析依赖注入和控制反转在Spring框架中的作用和好处

通过使用接口定义依赖关系,可以实现对象之间的松耦合,并支持灵活的实现替换。当定义依赖关系时,应针对接口而不是具体实现进行编程。// 实现省略 } public class PushNotificationService implements NotificationService {// 实现省略 }在上述示例中,定义了一个 NotificationService 接口,并有两个不同的实现类。在使用依赖注入时,将依赖关系声明为接口类型,从而实现对不同实现类的灵活切换。

2023-06-12 10:40:10 1344

原创 系列二:Spring框架中工厂模式的灵活应用

在软件开发中,工厂模式是一种常用的创建型设计模式,用于通过一个共同的接口创建不同类型的对象。在Spring框架中,工厂模式被广泛应用,以解耦对象的创建过程,提供更灵活的对象创建和配置方式。本篇博客将介绍Spring框架中的工厂模式的不同变体,包括简单工厂、工厂方法和抽象工厂,并探讨它们的适用场景和最佳实践。工厂模式是Spring框架中常用的设计模式之一,它可以帮助我们实现松耦合、可扩展和可配置的对象创建过程。

2023-06-09 15:57:56 1314

原创 系列一:Spring中的单例模式:保证对象唯一性与性能优化

单例模式是一种创建型设计模式,旨在确保一个类只有一个实例,并提供一个全局访问点。它常用于需要共享资源、管理对象状态或控制对象创建和销毁的场景。在Spring中,单例模式被广泛用于管理和创建Bean对象。Spring容器默认使用单例模式来管理Bean对象,以确保在应用程序的整个生命周期中只有一个实例。唯一性:单例模式保证一个类只有一个实例。通过使用单例模式,我们可以确保在系统中全局范围内只存在一个对象实例,从而避免重复创建和消耗资源。

2023-05-22 14:54:23 1008

原创 Spring中的设计模式:优化代码结构与增强可维护性

本篇博客将介绍代理模式的概念、静态代理和动态代理的实现方式,并探讨在Spring框架中如何使用代理模式实现AOP和实现横切关注点的功能。本篇博客将介绍桥接模式的原理、优势和适用场景,并探讨在Spring框架中如何应用桥接模式来处理不同维度的变化和实现功能的组合。本篇博客将介绍状态模式的概念、实现方式和应用场景,并探讨在Spring框架中如何应用状态模式来实现状态的动态切换和业务逻辑的处理。本篇博客将介绍访问者模式的原理、结构和使用方式,并探讨在Spring框架中如何应用访问者模式来实现数据的操作和处理。

2023-05-22 14:42:11 203

原创 JavaScript函数的默认参数:简化代码、提升灵活性

通过在函数定义中指定默认参数的值,我们可以更方便地处理可选参数、简化函数调用,并减少条件检查和参数处理逻辑的复杂性。因此,在日常的JavaScript开发中,我们应该充分利用默认参数的优势,并根据实际需求和最佳实践来设计和使用函数的默认参数。默认参数与arguments对象:在函数内部,arguments对象中的参数数量和顺序与函数定义中的参数一致,不受默认参数的影响。默认参数的兼容性:默认参数是在ECMAScript 6(ES6)中引入的新特性,因此在使用默认参数时需要考虑目标浏览器的兼容性。

2023-05-22 14:27:24 334

原创 深入解析Redis中的跳表:高效有序集合的数据结构

通过本文的深入解析,我们详细介绍了Redis中的跳表数据结构。跳表通过引入索引层次和链表结构,实现了高效的有序集合操作。我们了解了跳表的原理、应用场景以及与其他数据结构的对比。跳表在某些场景下具有优于其他数据结构的性能,并在实际应用中发挥着重要的作用。熟悉跳表的特点和使用方法,有助于开发者在设计和优化数据结构时做出更明智的选择。参考文献:Redis官方文档:https://redis.io/topics/data-types。

2023-05-16 11:06:45 515

原创 深入探究Redis Cluster和Sentinel:高可用分布式解决方案

为了满足大规模应用和高可用性的需求,Redis提供了两种解决方案:Redis Cluster和Redis Sentinel。例如,可以将Redis Cluster作为主要的数据存储层,通过Sentinel来监控和管理Cluster节点的状态,确保集群的高可用性。配置Redis Sentinel需要指定监控的主节点和从节点信息,并设置哨兵的端口和配置文件。当主节点故障时,集群中的其他节点会自动选举一个新的主节点,并继续提供服务,保证数据的连续可访问性。它可以自动检测并处理节点的故障,并确保集群的稳定运行。

2023-05-16 10:54:44 420

原创 Redis实战:高效缓存与数据存储解决方案

Redis是一个基于内存的数据结构存储系统,支持多种数据类型,包括字符串、哈希、列表、集合和有序集合等。它具有快速读写能力和丰富的数据操作命令,是一种高性能的数据存储解决方案。缓存是一种将计算结果存储在高速存储介质中的技术,以提高系统响应速度和降低对后端资源的依赖。Redis作为缓存的选择之一,具有以下优势:快速读写能力:Redis基于内存操作,读写速度极快,适合存储热点数据。多种数据结构支持:Redis支持多种数据结构,能满足不同场景的缓存需求。

2023-05-16 10:49:13 552

原创 好用的软件,你懂的。csdn各种屏蔽

YUhSMGNITTZMeTlvYjI1bmFHRnBMbTl5Wnk4akwzSmxaMmx6ZEdWeVAyTnZaR1U5V1ZacFVtNVljMHc9

2023-05-15 16:43:44 60

原创 程序猿在北京

在北京的繁华城市,程序员在这里漂泊,时常感觉孤独无依,独自面对电脑前的代码。每天早起赶地铁,奔波于高楼大厦间,不断编写新程序,期待着成为技术大咖。茶余饭后独自散步,城市的喧嚣随之远去,只有脑中的思考,和烦忧难以解脱。孤独的程序员,在这个城市漂泊,虽然身处陌生之地,但信仰和梦想从未改变。

2023-04-21 16:18:44 83

原创 Elasticsearch引导手册

【代码】Elasticsearch引导手册。

2022-12-28 14:23:19 107

原创 Spring Security 八 自定义登录

文章目录自定义表单登录一、如何开启表单登录二、FormLoginConfigurer常用配置三 登录页面总结自定义表单登录一、如何开启表单登录通过继承WebSecurityConfigurerAdapter,然后重写configure(HttpSecurity http)来实现。http.formLogin() 开启表单登录,方法返回的是FormLoginConfigurer对象,可以再详细的定义表单登录具体属性。二、FormLoginConfigurer常用配置loginPage(Strin

2021-08-18 15:00:32 355

原创 解决SpringBoot项目集成thymeleaf,不能成功跳转页面。(亲测可用~)

项目场景:Spring Boot项目 集成 thymeleaf 进行简单的页面跳转问题描述:在进行页面跳转时提示下面的错误信息,找不到对应的页面:2021-08-18 14:21:37.021 ERROR 36948 --- [nio-8082-exec-3] org.thymeleaf.TemplateEngine : [THYMELEAF][http-nio-8082-exec-3] Exception processing template "loginPage"

2021-08-18 14:36:00 771

原创 SpringSecurity 七 HttpSecurity

文章目录前言一、HttpSecurity是什么?1.1 定义:1.2 类图:1.3 DefaultSecurityFilterChain1.4 HttpSecurity的performBuild方法1.5 HttpSecurity常用的方法前言之前的文章分析了WebSecurityConfigurerAdapter,这次分析下HttpSecurity。一、HttpSecurity是什么?1.1 定义:HttpSecurity类似于命名空间配置中 Spring Security 的 XML 元素。

2021-08-02 17:52:58 1088

原创 Spring Security 六 WebSecurityConfigurerAdapter

文章目录一、WebSecurityConfigurerAdapter是什么?1.WebSecurityConfigurer是什么?2.WebSecurity2.1 WebSecurity定义2.2 AbstractConfiguredSecurityBuilder2.3二、使用步骤1.引入库2.读入数据总结一、WebSecurityConfigurerAdapter是什么?WebSecurityConfigurerAdapter是为创建WebSecurityConfigurer实例提供方便的基类,该类允

2021-07-30 14:56:01 6789 1

原创 Spring Security五 自动配置

文章目录自动配置一、SecurityAutoConfiguration1、SpringBootWebSecurityConfiguration2、WebSecurityEnablerConfiguration2.1 WebSecurityConfiguration2.2 @SpringWebMvcImportSelector2.3 @SpringWebMvcImportSelector2.4 @HttpSecurityConfiguration2.5 @EnableGlobalAuthentication总

2021-07-16 18:22:10 986

原创 Spring Security 四 认证

认证一、认证1. 密码存储二、Spring Security中的密码算法1.PasswordEncoder2.PasswordEncoder的实现类3.DelegatingPasswordEncoder4.PasswordEncoderFactories4.自定义PasswordEncoder一、认证Spring Security 为身份验证提供了全面的支持。身份验证是我们验证尝试访问特定资源的人的身份的方式。验证用户身份的常用方法是要求用户输入用户名和密码。一旦执行身份验证,我们就知道身份并可以执行授

2021-07-05 16:18:48 475

原创 Spring Security 三 Spring Security 配置

Spring Security 配置前言一、UserDetailsServiceAutoConfiguration二、自定义UserDetailsManager1.InMemoryUserDetailsManager2.UserDetailsManager3. 再次启动,登录总结前言hello world 程序示例中,通过集成了spring security的jar包后,编写了一个hello接口,此时通过测试发现,hello接口已经被保护了,需要进行登录认证才能访问。那么用户名和密码是在哪生成的呢?

2021-07-02 17:25:12 782

原创 SpringSecurity 二 Hello World

Hello World一、创建SpringBoot程序二、编写controller 启动项目1.controller2.启动项目3.访问接口4.登录认证一、创建SpringBoot程序通过idea创建 Spring Boot项目 2.x.x 版本,pom中引入spring security 和 spring web 依赖 <dependency> <groupId>org.springframework.boot</groupId

2021-07-02 16:01:44 158

原创 SpringSecurity 一 SpringSecurity简介

SpringSecurity简介一概述:SpringSecurity简介:核心功能:认证:授权:核心模块概述:SpringSecurity简介:Spring Security是一个框架,提供针对常见攻击的身份验证,授权和保护。通过对命令式和反应式应用程序的一流支持,它是保护基于Spring的应用程序的事实标准。核心功能:应用的安全框架,有两个主要的领域:身份认证(authentication)授权(authorization)认证:Spring Security 支持多种不同的认证方式

2021-07-02 15:37:26 187

原创 mysql 删除重复数据并保留一条数据,没有主键(即没有rowid)

mysql 删除重复数据并保留一条数据,没有主键(即没有rowid)现有表信息数据通过分组查询出重复数据为通过limit数据删除重复数据并保留一条现有表信息数据通过分组查询出重复数据为select id, COUNT(id) as count from test_table GROUP BY id HAVING COUNT(id) >1;通过limit数据删除重复数据并保留一条delete from test_table where id = 3 LIMIT 2;...

2021-03-22 16:58:27 749

空空如也

空空如也

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

TA关注的人

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