
Spring
文章平均质量分 73
Spring框架相关内容
厄尔尼诺的夏天
热爱各有不同,青年本该如此,每一代逐日移山的青年,都有自己奋不顾身的热爱,每一份炽烈的热爱,都值得被用心对待
展开
-
马士兵全套Spring源码深度解析学习
视频链接:马士兵全套Spring源码深度解析:AOP、IOC、Bean生命周期、循环依赖、事务、SpringBoot自动装配等原创 2023-10-04 20:44:26 · 1255 阅读 · 1 评论 -
JPA -EntityGraph 实体图失效问题
jpa查询方便了查询,但是有时会也会影响性能,有时候会。原创 2024-07-03 17:14:13 · 539 阅读 · 0 评论 -
Spring Clould 消息队列 - RabbitMQ
MQ,中文是消息队列(MessageQueue),字面来看就是存放消息的队列。也就是事件驱动架构中的Broker。比较常见的MQ实现:ActiveMQRabbitMQRocketMQKafkaRabbitMQActiveMQRocketMQKafka公司/社区RabbitApache阿里Apache开发语言ErlangJavaJavaScala&Java协议支持自定义协议自定义协议可用性高一般高高单机吞吐量一般差高非常高消息延迟微秒级。原创 2023-08-17 20:48:21 · 1177 阅读 · 0 评论 -
Spring Clould 部署 - Docker
微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题容器操作的命令如图:容器保护三个状态:运行:进程正常运行暂停:进程暂停,CPU不再运行,并不释放内存停止:进程终止,回收进程占用的内存、CPU等资源其中:docker run:创建并运行一个容器,处于运行状态docker pause:让一个运行的容器暂停。原创 2023-08-17 20:45:24 · 1821 阅读 · 0 评论 -
Spring Clould 网关 - Gateway
Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。为什么需要网关Gateway网关是我们服务的守门神,所有微服务的统一入口。一切请求先到网关再到微服务网关功能身份认证和权限校验(根据用户身份角色放行)原创 2023-08-17 20:40:09 · 966 阅读 · 0 评论 -
Spring Clould 服务间通信 - Feign
类型作用说明修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器http远程调用的结果做解析,例如解析json字符串为java对象请求参数编码将请求参数编码,便于通过http请求发送支持的注解格式默认是SpringMVC的注解失败重试机制请求失败的重试机制,默认是没有,不过会使用Ribbon的重试一般情况下,默认值就能满足我们使用,如果要自定义时,只需要创建自定义的@Bean覆盖默认Bean即可。下面以日志为例来演示如何自定义配置。原创 2023-08-17 20:37:33 · 435 阅读 · 0 评论 -
Spring Clould 配置中心 - Nacos
这样,UserApplication(8081)使用的profile是dev,UserApplication2(8082)使用的profile是test。注意:项目的核心配置,需要热更新的配置才有放到nacos管理的必要。微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。Nacos一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。我们最终的目的,是修改nacos中的配置后,微服务中无需重启即可让配置生效,也就是。原创 2023-08-17 20:35:25 · 331 阅读 · 0 评论 -
Spring Clould 负载均衡 - Ribbon
方式1,是全局都使用此规则方式2,是指定的服务使用此规则。原创 2023-08-17 20:30:15 · 1586 阅读 · 0 评论 -
Spring Clould 注册中心 - Eureka,Nacos
视频地址:微服务(SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式) 微服务涉及的的知识 总结: 邮储的物联网项目实用的是apollo作为配置中心,nocos作为注册中心,feign进行服务间调用 SpringClould 与SpringBoot的版本兼容 clould-demo:demo 提取码:cocf实现RestTemple也可以通过http进行服务间调用(非注册中心实现)http远程调用是与语言无关的调用,只要知道对方的ip、端口、接口路径、请求参数即可服务关系是相对原创 2023-08-17 20:27:29 · 2363 阅读 · 0 评论 -
spring data jpa 动态查询 @Query注解实现
如果你需要动态查询条件使用sql的 if 函数 if(condition, value_if_true, value_if_false)这里需要注意 nativeQuery countQuery 中的sql条件需要一样。如果利用@Query就行分页主要用的属性有。例如: 可以像下面这么写条件。原创 2023-04-05 22:03:30 · 1276 阅读 · 1 评论 -
Spring Data JPA动态SQL及自定义Repository
从 JpaRepository 开始的子类,都是 Spring Data 项目对 JPA 实现的封装与扩展。JpaRepository 本身继承 PagingAndSortingRepository 接口,是针对 JPA 技术的接口,提供 flush()、saveAndFlush()、deleteInBatch()、deleteAllInBatch() 等方法。我们来看一下 UML 来对 JpaRespository 有个整体的认识。转载 2023-02-02 23:01:56 · 4740 阅读 · 0 评论 -
Java项目启动时执行指定方法的几种方式
很多时候我们都会碰到需要在程序启动时去执行的方法,比如说去读取某个配置,预加载缓存,定时任务的初始化等。这里给出几种解决方案供大家参考。一、使用@PostConstruct注解这个注解呢,可以在Spring加载这个类的时候执行一次。来看一下下方代码。@Componentpublic class Test { public Test(){ System.out.println("我最先执行"); } /**原创 2021-11-30 19:46:16 · 2753 阅读 · 1 评论 -
创建线程池并使用
文章目录一、pandas是什么?一、pandas是什么?原创 2021-11-23 20:14:22 · 363 阅读 · 0 评论 -
Spring进阶学习记录
最后在Springboot启动类中调用一下UserService里面的register()方法注册一个新用户,UserRegisteredListener中就能处理这个用户注册完毕的事件,实现了UserService类和UserRegisteredListener类的解耦。在定义一个监听类,用于监听用户注册事件,类头上加@Component注解,将该类交给spring管理,定义一个处理事件的方法,参数类型为用户注册事件类的对象,方法头上需要加上@EvenListener注解。............原创 2022-07-21 14:54:03 · 259 阅读 · 0 评论 -
java的动态代理
jdk动态代理cglib动态代理jdk动态代理是由java内部的反射机制来实现的,cglib动态代理底层则是借助asm来实现的。反射机制在生成类的过程中比较高效,而asm在生成类之后的相关执行过程中比较高效(可以通过将asm生成的类进行缓存,这样解决asm生成类过程低效问题)。jdk动态代理的应用前提是目标类必须基于统一的接口。因此,jdk动态代理有一定的局限性,cglib这种第三方类库实现的动态代理应用更加广泛,且在效率上更有优势。转载 2022-10-13 16:09:41 · 5251 阅读 · 1 评论 -
bean的生命周期
如果我们现在自定义的组件中需要用到Spring底层的一些组件,比如ApplicationContext(IOC容器)、底层的BeanFactory等等,那么该怎么办呢?先说说自定义的组件中能不能用Spring底层的一些组件吧?既然都这样说了,那么肯定是能够的。回到主题,自定义的组件要想使用Spring容器底层的一些组件,比如ApplicationContext(IOC容器)、底层的BeanFactory等等,那么只需要让自定义组件实现XxxAware接口即可。转载 2022-10-12 10:14:45 · 916 阅读 · 0 评论 -
springBoot监听器ApplicationEventPublisherAware应用
好处监听器可以使核心业务与子业务进行解耦,也方便后期的业务的扩展。如新用户注册之后,发送邮件或短信,此时可以在保存用户之后,发布一个新用户的注册成功事件,通过监听该事件来实现发送邮件或短信的功能。后期新增一个对新用户进行xxx功能,此时可以新写一个监听注册成功事件的监听器,来处理新的业务逻辑,而不需要修改之前的注册逻辑。代码实体类package com.erp.payroll.evenlistener;/** * @author guang * @version V1.0 * @Packa原创 2021-12-01 10:34:19 · 1955 阅读 · 1 评论 -
@RequestBody 和 @GetMapping 同时使用
当我们使用@GetMapping 的时候配合使用@RequestBody 接受参数会发现无法接受到参数。网上说@RequestBody 不能和@GetMapping 搭配使用,需要使用@PostMappig。其实不是必然。@RequestBody 可以处理的是请求的body体内容,需要识别Content-Type的值。http请求为application/json @RequestBody 才可以解析body值。@GetMapping 前端大多使用了 application/x-www-form-原创 2021-10-18 11:18:32 · 6913 阅读 · 1 评论 -
idea debug使用和进阶
在这里插入图片描述](https://img-blog.csdnimg.cn/6a1be47a6ce6490387754cc7de751405.png。打在接口的方法上,会在实现类的方法停顿(可快速找到接口的实现类)断点后的步骤不执行(可用在不想插入数据库数据)方法断点打在方法上,可以在出入方法时停顿。作用在属性上,当属性值变化时会被监控。经过filter和map后数据的变化。4.报错后断点停止(不向下进行)方法断点(接口跳转实现类)异常断点(全局捕获异常)会打印类信息和方法信息。字段断点(读写监控)原创 2021-01-12 10:01:47 · 312 阅读 · 0 评论