Spring系列 及 相关中间件
文章平均质量分 63
学习 Spring全家桶 及 相关中间件
Fearless____
这个作者很懒,什么都没留下…
展开
-
Nacos - 安装指南(Windows系统)
最简单快捷的在Windos中下载Nacos的方法原创 2023-08-18 15:15:36 · 1762 阅读 · 0 评论 -
你知道 SpringMVC的 执行流程 吗?
假设我们现在有一个请求http://localhost:8080/user/getById/1,请求从浏览器发出,在后台就会有一个 前端控制器DispatcherServlet 来接收请求,它是调度中心,所有的请求都要经过这个DispatcherServlet,它是由Tomcat容器进行初始化的,当这个类被加载的时候,在内部就会加载出其他组件处理器映射器HandlerMapping、处理器适配器HandlerAdaptor、视图解析器ViewResolver原创 2023-07-13 20:10:41 · 325 阅读 · 0 评论 -
Spring框架常用注解(Spring、SpringMVC、SpringBoot)
第一行中的@Controller、@Service、@Repository 都是由@Component 衍生而来第四行中@Scope 用于设置 Bean 是单例还是多例的,默认情况下是单例最后一行中@Aspect、@Before、@After、@Around、@Pointcut 分别是定义 切面类、前置通知、后置通知、环绕通知、切点表达式原创 2023-07-13 18:01:41 · 1049 阅读 · 0 评论 -
Spring 如何解决 Bean 的循环依赖(循环引用)
Spring解决循环依赖是通过三级缓存,对应的三级缓存如下所示实际上 一级 和 二级 缓存就能解决一般的 循环依赖问题但是 如果一个对象被增强了,即 是个代理对象, 这个时候就需要一个三级缓存但是 仍有些循环引用 Spring 解决不了,这时候需要手动解决原创 2023-07-13 01:25:38 · 489 阅读 · 0 评论 -
Spring -- Bean的生命周期
Spring容器在进行实例化时,会将xml配置的的信息封装成一个BeanDefinition对象,Spring根据BeanDefinition来创建Bean对象,里面有很多的属性用来描述Bean。初始化方法,其中的 InitializingBean 也是个接口,如果Bean实现了这个接口,那么也需要重写接口的方法。也是Bean的后置处理器,在Bean的初始化之后执行,比如AOP,AOP的底层就是动态代理。Bean的后置处理器,用来增强Bean的功能,在Bean的初始化之前执行。原创 2023-07-12 18:30:49 · 448 阅读 · 0 评论 -
什么是 Spring AOP 以及 使用方法 和 场景
AOP称为面向切面编程,用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,这个模块被命名为“切面”(Aspect),减少系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维护性。pointcut 方法是切点表达式,@Pointcut 中表示,如果某个方法添加了 Log 注解(Log 是我们自定义的注解,如下),则调用当前方法时就会进入到环绕通知进行增强。around 方法中有一个形参 joinPoint ,从这里面可以获取当前被增强的类和方法的信息。原创 2023-07-12 15:45:15 · 418 阅读 · 0 评论 -
Spring -- 单例Bean是线程安全的吗?
那么单例Bean是线程安全的吗?不是但是看以下代码...原创 2023-07-11 23:31:22 · 379 阅读 · 0 评论 -
MQ的优缺点 及 不同MQ的区别
流量削峰:不管发布事件的流量波动多大,都由Broker接收,订阅者可以按照自己的速度去处理事件。吞吐量提升:无需等待订阅者处理完成,响应更快速。故障隔离:服务没有直接调用,不存在级联失败问题。耦合度极低,每个服务都可以灵活插拔,可替换。架构复杂了,业务没有明显的流程线,不好管理。需要依赖于Broker的可靠、安全、性能。调用间没有阻塞,不会造成无效的资源占用。MQ的目的是完成异步通信。常见的MQ有以下四种。原创 2023-07-05 14:25:14 · 243 阅读 · 0 评论 -
网关的cors跨域配置
请求,请求被浏览器拦截的问题。原创 2023-07-04 21:05:31 · 119 阅读 · 0 评论 -
过滤器执行顺序
上图中的两个AddRequestHeader,他们在java的底层都来源于同一个过滤器工厂,生成的真正过滤器都是GatewayFilter,所以我们认为 路由过滤器 和 DefaultFilter 都是同一种过滤器 GatewayFilter。在网关中,有一个过滤器适配器,如下,其实现了 GatewayFilter 接口,我们开到其内部有个GlobalFiler属性,我们只要将 GlobalFiler 传入,该适配器就能将GlobalFiler 变为GatewayFilter。原创 2023-07-04 17:13:33 · 289 阅读 · 0 评论 -
全局过滤器 GlobalFilter
通过参数 exchange ,我们能拿到请求和响应的相关信息,也可以往里面存数据或取数据参数 chain 就是过滤器链,这个链条上有很多过滤器,chain的作用是放行, 当此处的逻辑处理完后,就要交给其他过滤器处理至于返回值Mono,下面会解释。原创 2023-07-04 03:09:15 · 1197 阅读 · 0 评论 -
路由过滤器 GatewayFilter
GatewayFilter是网关中提供的一种过滤器,可以对进入网关的请求和微服务返回的响应做处理过滤器的作用其作用时机如下Spring提供了31种不同的路由过滤器工厂。例如:名称说明给当前请求添加一个请求头移除请求中的一个请求头给响应结果中添加一个响应头从响应结果中移除有一个响应头限制请求的流量...原创 2023-07-03 20:13:32 · 156 阅读 · 0 评论 -
路由断言工厂Route Predicate Factory
Query=name, Jack或者- Query=name。请求必须是访问某个host(域名)请求必须包含某些cookie。请求必须包含某些header。请求者的ip必须是指定范围。是某两个时间点之前的请求。请求路径必须符合指定规则。请求参数必须包含指定参数。是某个时间点之前的请求。请求方式必须是指定方式。是某个时间点后的请求。原创 2023-07-03 17:53:08 · 139 阅读 · 0 评论 -
Gateway 网关服务
这个就需要我们配置路由断言,路由断言判断哪些请求需要进行转发,我们这边只进行了Path路由断言,实际上还有很多,我们称为路由断言工厂,我额外写了一篇博客,大家可以参考。uri是路由的目的地址,可以直接写死目的地址,如 uri: http://127.0.0.1:8081,但是一般不这么使用。uri: lb://userservice # 路由的目标地址 lb就是负载均衡,后面跟服务名称。当我们要访问一个具体服务时,不再访问其端口,而是访问网关服务的端口,网关就会将我们的请求再转发给对应的具体服务,如下。原创 2023-07-03 16:51:33 · 118 阅读 · 0 评论 -
Nacos 配置中心
传统的配置方法是直接将配置文件放在项目中其缺点是:1、当配置文件发生改变时,需要重启项目2、在集群环境下,需要一个一个进行修改。原创 2023-06-28 21:08:32 · 286 阅读 · 1 评论 -
SpringMVC 获取请求参数 的几种方式
Controller中的业务方法的参数名称要与请求参数的name一致,参数值会自动映射匹配。原创 2023-05-23 22:53:23 · 292 阅读 · 0 评论 -
xxl-job(分布式任务调度平台)的使用
从GITHUB或GITEE中拉取源码,使用IDEA打开项目(记得修改Maven仓库)默认登录账户名:admin。登录密码:123456。项目中有个sql文件,去构建本地数据库。进入如下界面,开始使用XXL-JOB。修改数据库配置,更改为自己的账号密码。然后 install 父项目。再install三个子项目。原创 2023-03-29 18:19:07 · 271 阅读 · 0 评论 -
如何读懂 SpringBoot 配置文件
1、配置文件类型2、配置文件优先级3、非容器类获取配置文件原创 2023-03-24 13:20:06 · 115 阅读 · 0 评论