RxJava简介
RxJava简介官方中文文档:ReactiveX · ReactiveX/RxJava文档中文版 · 看云 (kancloud.cn) RxJava/src/main/java/io/reactivex/rxjava3/core at 3.x · ReactiveX/RxJava (github.com) 如何学习RxJava3?有这个项目就够了! - 简书 (jianshu.com)
springboot如何在启动时执行指定方法
[TOC] springboot事件监听机制一、什么是事件监听机制?事件监听机制,顾名思义,就是对一个事件进行监听,当有外界刺激作用于该事件时能被捕获并产生相应的响应。 如果你知道设计模式,那么你就知道他和观察者模式非常像,监听器就是在观察事件,如果发生就去做相应的事情。 二、springboot中的事件监听机制springboot内置了一套非常便捷的事件监听机制的实现,现在我们通过一个简单的案例来了解下他如何使用。 我们需要在调用登录接口的时候做以下两件事。 1、打印登录日志 2、给用户增加积分 2.1 不使用事件监听机制的登录代码1234567891011121314151617/** * 登录 * @param username 用户名 * @param password 密码 * @return / */@PostMapping("login")public Back<Object> login(String username,String password){ if...
Leetcode刷题路线
网站地址:代码随想录 (programmercarl.com) 学习记录一、数组代码随想录-数组 二分查找 2022-10-27 27. 移除元素 2022-10-28 977. 有序数组的平方 2 2022-10-29 209. 长度最小的子数组 2022-10-29 59. 螺旋矩阵 II 2022-10-29 二、链表代码随想录-链表 203.移除链表元素 707.设计链表 206.反转链表 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 160.链表相交 142.环形链表II
jpa原生sql返回非entity对象
jpa原生sql返回非entity对象参考文章:Spring Data Jpa 原生SQL返回自定义对象最简洁方式 - evan888的个人空间 - OSCHINA - 中文开源技术交流社区 在使用spring-data-jpa的过程中有一个问题一直困扰于我,就是在repository中写自定义sql时需要返回自定义对象时,一直没有发现有良好的接收方式。今天我在这里分享下我的已知解决办法。 一、使用map接收123@Query(nativeQuery = true,value = """ select id , name , sub_count , 'test_one' as test_one , 'testTwo' as testTwo , create_time from sys_dept """) List<Map<String,Object>>...
设计模式-建造者模式
设计模式-建造者模式时间:2022年9月21日 本文档摘抄自:菜鸟教程 ,修改部分 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。 一、介绍意图: 将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 主要解决: 主要解决在软件系统中,有时候面临着”一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。 何时使用: 一些基本部件不会变,而其组合经常变化的时候。 如何解决: 将变与不变分离开。 关键代码: 建造者:创建和提供实例,导演:管理建造出来的实例的依赖关系。 应用实例: 1、去肯德基,汉堡、可乐、薯条、炸鸡翅等是不变的,而其组合是经常变化的,生成出所谓的”套餐”。 2、JAVA 中的...
设计模式-原型模式
设计模式-原型模式时间:2022年9月21日 本文档摘抄自:菜鸟教程 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。 一、介绍意图: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 主要解决: 在运行期建立和删除原型。 何时使用: 1、当一个系统应该独立于它的产品创建,构成和表示时。 2、当要实例化的类是在运行时刻指定时,例如,通过动态装载。 3、为了避免创建一个与产品类层次平行的工厂类层次时。 4、当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。 如何解决:...
设计模式-适配器模式
设计模式-适配器模式适配器模式(Adapter...
设计模式-工厂模式
设计模式-工厂模式时间:2022年9月20日 本文档摘抄自:菜鸟教程 ,修改部分 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 一、介绍意图: 定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 主要解决: 主要解决接口选择的问题。 何时使用: 我们明确地计划不同条件下创建不同实例时。 如何解决: 让其子类实现工厂接口,返回的也是一个抽象的产品。 关键代码: 创建过程在其子类执行。 应用实例: 1、您需要一辆汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的,以及这个汽车里面的具体实现。 2、Hibernate 换数据库只需换方言和驱动就可以。 优点: 1、一个调用者想创建一个对象,只要知道其名称就可以了。 2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。...
设计模式-简介与导航
设计模式-简介与导航 时间:2022年9月20日本文档摘抄自:菜鸟教程他人相关的博客 : 永不磨灭的设计模式(有这一篇真够了,拒绝标题党)_ShuSheng007的博客-CSDN博客_永不磨灭的设计模式 一、设计模式简介设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是设计模式能被广泛应用的原因。 二、什么是 GOF(四人帮,全拼 Gang of...
设计模式-抽象工厂模式
设计模式-抽象工厂模式时间:2022年9月20日 本文档摘抄自:菜鸟教程 ,修改部分 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。 一、介绍意图: 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 主要解决: 主要解决接口选择的问题。 何时使用: 系统的产品有多于一个的产品族,而系统只消费其中某一族的产品。 如何解决: 在一个产品族里面,定义多个产品。 关键代码: 在一个工厂里聚合多个同类产品。 应用实例:...