抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

前言我们日常使用 SpringBoot 已经可以轻松创建 HTTP 服务了,当然 SpringBoot 同样提供了基于注解的形式也能很方便实现 Websocket 服务。但是当我们想要更加自定义通信协议时,Java 届已经有统一主流的方式,使用 Netty ,一个韩国人开发的框架。本文将介绍如何实现使用一个端口,同时监听多种网络协议。 1. 编码实现我们使用的 HTTP 或 Websocke...

前言Spring 为 Java 程序员开发提供了极大的便利,同时也是非常值得学习的一门框架。其内部有诸多扩展点,用好这些扩展点可以让我们的工作事半功倍,因此本文将练习一些常用的扩展点。 1. FactoryBean提起 FactoryBean,经常会被问到 FactoryBean 与 BeanFactory 的区别。BeanFactory 是 Bean 的工厂,可以帮我们生成想要的 Bean...

前言微服务开发时必定涉及到服务注册、服务发现及服务间的通信,一般而言,一个大型系统被拆分为多个小服务,则服务之间使用 dubbo 以 RPC 方式通信,会更快、更轻量、并发高,而不同系统之间的远程调用可以使用 feign 的以 HTTP 的方式更适合,而无论是用哪种方式都绕不开服务注册与发现。本文中我们将使用 openfeign 来作为通信方式,使用 Nacos 完成服务注册与发现,另外将介...

1. 需求1.1. 什么是 JSR-303在 JavaWeb 项目开发中,常常需要进行接口参数校验,这个需求在 JSR-303规范中被提到,JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务...

之前有一篇讲到在 Springboot 项目中做接口加解密,详见《接口日志与加密(SpringBoot)》一文,今天这篇将介绍在 Gateway 中做接口加解密。Gateway 属于 SpringCloud 家族,使用上 Gateway 时,一般都是微服务项目了,本文将会涉及一下几个要点: 服务注册到 Nacos; 网关路由分发; 网关请求加解密; 配置网关动态路由; 路由分发负载均衡;...

前言最近看了【阿里技术】微信公众号的推文《函数式编程的Java编码实践:利用惰性写出高性能且抽象的代码》,觉得其编码方式很值得学习,故记录在此。本文侧重讲述实践过程,原文中 “函子”、“单子”、“柯里化” 等概念不做细致探究。 1. 编程语言的严格(Strict)与惰性(Lazy)Java 是一门严格的编程语言,我们习惯变量在定义时就完成了初值计算,如: 12int a = 10 + 1;i...

在实际开发中,我们可能有如下需求: 记录请求/响应的参数,记录日志; 接口做加密防爬。即前后端约定好加密方式,前端传加密参数,后端获取到密文然后解密,处理完后再加密响应给前端。 1. 记录请求/响应的参数Spring 已经提供好类可以使用:ContentCachingRequestWrapper和ContentCachingResponeWrapper。使用方式如下:...