饥饿 机制spring ribbon
编译spring5.2.x源码
编译spring源码是学习spring的第一步,spring源码是用gradle编译的,在编译时会遇到一些问题,在此记录一下。 下载spring源码 第一步需要下载spring的源码,由于官方托管在github,国内访问github不通畅,这里就直接使用gitee的镜像仓库,在国内比较快,地址:ht ......
如何使用 RestTemplate 进行 Spring Boot 微服务通信示例
概述 下面我们将学习如何创建多个 Spring boot 微服务以及如何使用 RestTemplate 类在多个微服务之间进行同步通信。 微服务通信有两种风格: 同步通讯 异步通信 同步通讯 在同步通信的情况下,客户端发送请求并等待服务的响应。这里重要的一点是协议(HTTP/HTTPS)是同步的,客 ......
Spring BeanUtils.copyProperties简化写法
代码 import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.beans.BeanUtils; import org.sprin ......
「Java开发指南」如何用MyEclipse搭建Spring MVC应用程序?(二)
本教程将指导开发者如何生成一个可运行的Spring MVC客户应用程序,该应用程序实现域模型的CRUD应用程序模式。在本教程中,您将学习如何: 从数据库表的Scaffold到现有项目 部署搭建的应用程序 在上文中,我们介绍了如何创建一个Web项目和来自数据库表的Scaffold等,本文将继续介绍如何 ......
复制集机制及原理
复制集的作用 数据分发:将数据从一个区域复制到另一个区域 读写分离:读写折分到不同的结点 异地灾备:中心结点故障时自动转移到灾备结点 典型复制集结构 由3个及以上据有投票权的结算构成 一个主结点,接受数据写入及进行投票 二个及以上从节点,从主结点读取数据及进行投票 不推荐使用2个数据结点+1个投票结 ......
如何让spring一直启动不关掉
Spring是J2EE应用程序框架,深受java程序员的欢迎,大量的项目都会引入Spring框架。如果是web项目,启动Spring之后,web容器会维持进程持续运行,Spring也就可以一直出于启动状态,但如果是普通的java应用,在启动Spring之后,随着java进程的停止,spring也会停 ......
[Spring Boot] - 三层架构及控制反转
三层架构? Controller : 控制层,接收前端发送的请求,对请求进行处理,并响应数据 Service : 业务逻辑层,处理具体的业务逻辑 Dao : 数据访问层(Data Access Object)(持久层),负责数据访问操作,包括数据的增、删、改、查 NOTE : 通过三层架构的分解, ......
python的垃圾回收机制
python解释器在执行到定义变量的语法时,会申请内存空间来存放变量的值,而内存的容量是有限的,这就涉及到变量值所占用内存空间的回收问题,当一个变量值没有用了(垃圾)就应该将其占用的内存回收 从逻辑层面分析,定义变量将变量值存起来的目的是为了以后取出来使用,而取得变量值需要通过其绑定的直接引用(如x ......
Spring Boot中使用RabbitMQ完成延迟功能
MQ-消息队列简单来说就是将“消息”放到“队列”中,然后慢慢处理队列中的消息。 完成延迟功能总体的思路是将消息放到队列中,为消息设置过期时间,不直接处理这个队列中的消息, 等到消息过期,将它转到另一个队列进行处理,从而完成延迟功能。 基本概念 1. 队列 队列是RabbitMQ的内部对象,用来存储消 ......
学习Spring-Data-Jpa(十九)---JPA的持久性上下文
学习Spring-Data-Jpa(十九) JPA的持久性上下文 1、持久化上下文 JPA中有持久化上下文存在,但是开发者不直接与之打交道,持久化上下文在应用程序中是透明的。 我们可以把持久化上下文理解成一个Map,该Map在事务开始的时候创建,在事务结束的时候销毁。在事务中,可以把对象关联到持久化 ......
Spring 缓存注解这样用,太香了!
作者最近在开发公司项目时使用到 Redis 缓存,并在翻看前人代码时,看到了一种关于 @Cacheable 注解的自定义缓存有效期的解决方案,感觉比较实用,因此作者自己拓展完善了一番后分享给各位。 Spring 缓存常规配置 Spring Cache 框架给我们提供了 @Cacheable 注解用于 ......
Java类加载机制
类加载机制 将class文件中的二进制数据读取到内存中,并对其进行校验,解析和初始化,将类型数据存放在方法区,实例对象存放在堆,作为方法区该类的数据访问接口。这就是类加载。 加载 通过全限定名获取二进制字节流 将字节流代表的静态存储结构转化为方法区的运行时数据结构 在堆中生成一个代表该类的Class ......
JPA、Hibernate、Spring Data JPA、MyBatis 他们之间的关系
JDBC 我们都知道不同的数据库厂商都有自己的实现类,后来统一规范也就有了数据库驱动JDBC Java在操作数据库的时候,底层使用的其实是JDBC, JDBC提供的API是一种统一操作不同数据库的规范,需要各大厂商来实现基层的驱动和接口。 因此JDBC API 很好屏蔽了每个数据的之间的差异 JPA ......
Spring Batch 批处理,骚气还强大!
spring batch简介 spring batch是spring提供的一个数据处理框架。企业域中的许多应用程序需要批量处理才能在关键任务环境中执行业务操作。这些业务运营包括: 1、 无需用户交互即可最有效地处理大量信息的自动化,复杂处理。这些操作通常包括基于时间的事件(例如月末计算,通知或通信) ......
为虚拟机制作快照,制作还原点
为虚拟机制作快照,制作还原点 将虚拟机关机制作,效率高 我的虚拟机,快照管理器,拍照,快照列表里有所创建的快照,(转到) Linux的目录结构 /就是顶级目录 eg:/usr/local/hello.txt window系统 D:\data\work\Hello.txt ......
C++笔记 -- 使用STL的function实现回调机制(回调函数)
1.使用普通函数 示例一 代码: #include <iostream> #include <functional> // 定义一个回调函数类型 using Callback = std::function<void(int)>; // 定义一个函数,用于演示回调函数的使用 void perform ......
Spring Kafka: UnknownHostException: 34bcfcc207e0
参考: https://stackoverflow.com/questions/69527813/spring-kafka-unknownhostexception-34bcfcc207e0 我遇到的问题和@Adán Escobar是一样的。 在SpringBoot整合kafka的时候日志报了Spr ......
Java安全机制之一——SecurityManager和AccessController
前言: 在看socket相关代码的时候,AbstractPlainSocketImpl中的一段代码吸引了我,其实之前见过很多次类似的代码,但一直不想去看,只知道肯定和权限什么的相关,这次既然又碰到了就研究一下,毕竟也不能对java基本代码一无所知。 static { java.security.Ac ......
【Spring】事务实现原理
在使用事务的时候需要添加@EnableTransactionManagement注解来开启事务,Spring事务底层是通过AOP来实现的,所以启用事务后,同样会向容器中注入一个代理对象创建器,AOP使用的是AnnotationAwareAspectJAutoProxyCreator,事务使用的是In ......
Spring系列:基于注解的方式构建IOC
目录一、搭建子模块spring6-ioc-annotation二、添加配置类三、使用注解定义 Bean四、@Autowired注入五、@Resource注入六、全部代码 从 Java 5 开始,Java 增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译、类加载和运行时 ......
关于spring-boot-starter-parent 3.1.2和3.1.5版本的区别导致的错误
1.问题 在学习黑马程序员SpringBoot3+Vue3全套视频教程时,手动配置springboot项目时,由于之前spring-boot-starter-parent安装的版本是3.1.5,视频要求的是3.1.2,但是之前怎么弄也无法下载到3.1.2(后面已解决,可参考手动配置Maven依赖项) ......
Spring 项目开发 - 工作记录
项目架构 外层 Controller model service 配置 查看事务回滚失败 # 日志配置 logging: level: org.springframework.jdbc: debug JAVA BigDecimal 转为负数 BigDecimal number = new BigDe ......
Spring Data Redis使用方式
Spring Boot提供了对应的Starter,maven坐标: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></de ......
Spring Boot + WebSocket 实时监控,实战来了!
写在前面 此异常非彼异常,标题所说的异常是业务上的异常。 最近做了一个需求,消防的设备巡检,如果巡检发现异常,通过手机端提交,后台的实时监控页面实时获取到该设备的信息及位置,然后安排员工去处理。 因为需要服务端主动向客户端发送消息,所以很容易的就想到了用WebSocket来实现这一功能。 WebSo ......
手写Spring框架-第二弹
用设计模式,实现 Bean 的定义注册获取 理解设计模式: 编码方式主要依托于:接口定义 || 类实现接口、抽象类实现接口 || 继承类、继承抽象类,而这些操作方式可以很好的隔离开每个类的基础功能、通用功能和业务功能,当类的职责清晰后,你的整个设计也会变得容易扩展和迭代。 接口和抽象类的区别,接口是 ......
Spring系列:基于XML的方式构建IOC
目录一、搭建模块spring6-ioc-xml二、获取bean的三种方式三、基于setter注入四、基于构造器注入五、特殊值处理六、为对象类型属性赋值七、引入外部属性文件八、基于XML自动装配 一、搭建模块spring6-ioc-xml ①引入配置文件 引入spring6-ioc-xml模块配置文件 ......
SpringOne Essentials | From Spring Native to Spring Boot 3 | Spring Framework 6: Infrastructure Themes
Schedule | SpringOne Essentials From Spring Native to Spring Boot 3 | SpringOne Essentials Spring Framework 6: Infrastructure Themes | SpringOne Essen ......
Spring validation验证框架注解
Spring validation验证框架注解Spring validation验证框架提供了大量接口入参检验注解,注意三个非空注解: @NotNull:验证对象是否不为null, 无法查检长度为0的字符串@NotBlank:检查约束 (字符串) 是不是Null还有被Trim的长度是否大于0,只对字 ......