![](https://img-blog.csdnimg.cn/b1e7353168ef4f9c9bf3791db8e3b72f.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring
文章平均质量分 86
Spring相关技术博客
GreyZeng
程序员,架构师,项目经理
展开
-
基于 Spring Cloud 的微服务脚手架
作者:本文主要介绍了基于 Spring Cloud Finchley 和 Spring Boot 2.0.x 版本的微服务脚手架的搭建和关键代码说明,参考了。相关组件和版本架构图如下启动方式,按如下顺序启动测试三个请求,需要带上参数,否则会被拦截器拦截提示无权限。返回返回返回核心代码说明上述三个方法在成功调用之前,都需要做鉴权逻辑用户鉴权部分,实现即可,在preHandle中处理鉴权逻辑。原创 2022-12-18 07:40:37 · 1391 阅读 · 1 评论 -
Spring Boot 配置多数据源
注:本示例基于 JdbcTemplate,如果使用 JPA,Hiberante 或者 Mybatis 等,方法类似。脚本和数据源配置好以后,接下来要准备两个数据源的配置类信息,以任意一个数据源的配置类信息为例(另外一个同理)首先,配置两个数据源,这里我们基于 H2 配置了两个简单数据源,由于 H2 是内存数据库,无需手动新建。参数定义了该数据源是主数据源,也就是说,调用数据源的时候,如果没有指定名称默认就是用这个数据源。完成上述配置后,在启动类中注入这两个数据源对应的。取的是 foo 数据源的信息。原创 2022-11-30 12:08:50 · 1587 阅读 · 0 评论 -
Spring Cloud Gateway 使用示例
作者: Grey原文地址:博客园:Spring Cloud Gateway 使用示例CSDN:Spring Cloud Gateway 使用示例Spring Cloud Gateway 用于构建 API 网关,基于 Spring WebFlux。在Spring Cloud G 版发布时,Spring 官方把 Spring Cloud Gateway 作为 Zuul 1 的替代方案本文主要通过一个示例介绍了 Spring Cloud Gateway 的基础使用。JDK 1.8+Maven 3.5+Spring原创 2022-11-19 12:29:22 · 799 阅读 · 0 评论 -
Spring Cloud Circuit Breaker 使用示例
作者: Grey原文地址:博客园:Spring Cloud Circuit Breaker 使用示例CSDN:Spring Cloud Circuit Breaker 使用示例它还支持的实现有如下几种Resilience4jHystrixSentinelSpring Retryspring-cloud-circuit-breaker-usageJDK 1.8+Maven 3.5+Spring Boot 版本:2.7.5Spring Cloud 版本:2021.0.5服务端需要引入如下依赖然后暴露一个简单服原创 2022-11-18 13:17:46 · 788 阅读 · 1 评论 -
使用 Spring Cloud Loadbalancer 实现客户端负载均衡
针对 spring-cloud-ribbon 这个负载均衡组件,Spring 官方提出的替换解决方案是。可以通过每个 server 实例的运行日志,查看到每个实例都轮流获取到了请求,实现了负载均衡。Spring Cloud Netflix 那套组件很多都进入了维护期,如下表所示。有了这个配置,在客户端的 Controller 中,做如下注入即可。同时,针对一些组件,Spring 官方给出了一些替代方案。,且每个实例要定义 VM options。启动 server 的时候,需要。原创 2022-11-15 12:53:26 · 469 阅读 · 0 评论 -
Feign 实现 GET 方法传递 POJO
用于 feign 使用 GET 无法直接传递 POJO,所以定义如下一个拦截器,在 apply 方法种处理请求并封装成 POJO 发送给服务端,本实例中,我们要封装的是 User 对象。方案四(最佳实践):通过实现 Feign 的 RequestInterceptor 中的 apply 方法来进行统一拦截转换处理 Feign 中的 GET 方法多参数传递的问题。provider 项目中,定义了一个 Controller ,用于接收用户请求,有如下的一个方法。方案二:把方法参数变成Map传递。原创 2022-11-14 22:25:18 · 565 阅读 · 0 评论 -
Spring Boot 启动时初始数据库脚本示例
Spring Boot 在启动时,可以通过 SQL 脚本进行数据库的初始化,以下示例采用 H2 来演示,由于平时学习的时候,涉及到一些连接数据库相关的操作,经常需要初始化本地数据库,比如装个 MySQL,初始化一些脚本,比较麻烦,H2 是内存数据库,Spring Boot可以在应用启动的时候对H2数据库初始化一些SQL脚本,这样的话,在学习/测试阶段,可以先使用 H2 数据库进行测试和学习,不需要额外安装 MySQL 数据库了。原创 2022-10-23 19:09:15 · 827 阅读 · 0 评论 -
Spring Security 实现用户名密码登录
Spring Security提供了一个UserDetailsService接口,我们需要实现这个接口的loadUserByUsername方法,用于用户信息的获取,如果存在用户,则把用户的密码获取出来,如果不存在这个用户,直接抛异常。SQL脚本在resouces/db目录下,项目启动后会自动初始化脚本,无需手动执行。以上便完成了所有后端代码的编写,接下来,完成controller和前端页面的编写。显示登录页面,输入用户名密码,点击登录,即可看到效果。准备好建表语句后,完成实体类的编写。原创 2022-10-23 18:56:18 · 3566 阅读 · 1 评论 -
AD 域登录验证
注意:在测试的时候需要将 x.x.x.x,xxx,abc,123abc.替换成相应的域服务器 IP ,域服务器端口,域用户名,域用户密码。系统在登录的时候,需要根据用户名和密码验证连接域服务器进行验证此用户是否为域用户。某个域用户是:abc@adservice.com 密码:abc123.spring-ldap-core 版本:2.0.2.RELEASE。AD域为:DC=adservice,DC=com。单元测试:ADAuthJavaTest.java。域服务器地址:x.x.x.x。原创 2022-06-22 08:30:11 · 2063 阅读 · 0 评论 -
基于 Spring 的统一异常处理设计
在业务开发中,通常无需进行Try catch处理,有业务异常直接抛出即可。如果需要定义一类通用的异常,则需要在自己业务模块下新建异常类,继承于//重写构造函数,从而定义该自定义异常的用户可见的错误信息super("支付失败");}}类名定义预置错误信息用户访问未授权的内容权限不足调用微服务失败调用相关服务失败其他异常……在定义框架级异常时,除了需要编写异常类之外,如需要前端根据error CODE做对应的处理,就可以在ResultCode中增加定义。@Getter/**原创 2022-06-07 21:48:38 · 134 阅读 · 0 评论 -
Spring 中的依赖查找和依赖注入
如果通过User.class类型来找Bean,可能会找到SuperUser和User两个,但是加了Primary="true"这个配置,则只会找superUser这个Bean。引入上一例中的dependency-lookup.xml,并增加一个Bean的配置, 并且配置手动注入这个Bean中属性信息。在resources目录下建立META—INF目录,同时新建一个dependency-lookup.xml文件。也可以实现自动注入,我们以按类型自动注入为例,修改xml配置。在上例中的xml文件中配置。原创 2021-11-13 15:02:43 · 870 阅读 · 0 评论 -
Spring 如何解决循环依赖
如果X这个类依赖了Y,Y这个类依赖了X,就产生了循环依赖。在普通Java(非Spring框架)下,这并不是一个问题。以下是循环依赖是否支持的开关,如果设置为true,则支持循环依赖。通过上述实验,可以了解,Spring解决了循环依赖的问题,如何解决的呢?原创 2021-11-13 13:05:55 · 151 阅读 · 0 评论 -
Spring 的轻量级实现
作者: Grey原文地址:博客园:Spring 的轻量级实现CSDN:Spring 的轻量级实现本文是参考公众号:码农翻身 的从零开始造Spring 教程的学习笔记github使用TDD的开发方法,TDD的开发流程是:写一个测试用例运行:失败写Just enough的代码,让测试通过重构代码保持测试通过,然后循环往复。仅实现核心功能基于spring-framework-3.2.18.RELEASE版本XML格式如下,文件名为:需要解析上述XML并生成对象,调用者只需要做如下调用即可:思路为:解析XML,原创 2021-11-13 12:32:04 · 310 阅读 · 0 评论