202110-28 解决spring boot网关gateway导致的坑,无法下载文件问题 话不多说,直接上图接口返回内容,浏览器显示PDF文档。但是输入接口地址以后一直提示这个核对接口路径也是正确的,并且没有报错提示,后面发现是网关没有配置放行路径,于是进行了补充所以以后对于前端请求统一由网关进行配置处理的,一定要对于静态资源合理配置,或者对于放行接口要统一补充进来(最后统一一下下接口前缀名称,这样就只需要写一个了)下面我再说一个坑:springcloudgateway启动报错:org.springframework.cloud.... 继续阅读 >
202110-28 Spring:bean注入--Set方法注入 目录Set方法注入总结Set方法注入1.新建一个空的maven项目。2.导入依赖properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!--这里是java版本号--><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target><!--这里是方便版本控制--><spring.version>5.3.1</spring.version><lombok.vers... 继续阅读 >
202110-28 Spring-全面详解(学习总结) 目录一、Spring介绍简介特点、主要特点为什么要学?二、IOC(依赖注入)Spring容器IOC和bean介绍控制反转:容器概述:bean介绍AOP总结一、Spring介绍简介Spring框架为现代基于java的企业应用程序提供了一个全面的编程和配置模型——在任何类型的部署平台上特点、主要特点1、非侵入式2、容器3、IoC4、AOP5、方便程序的测试为什么要学?主流市场推荐、学习的人数多、Spring社区活跃、工作需要、属于开源框架、方便web开发、集... 继续阅读 >
202110-28 Spring Cloud Gateway 如何修改HTTP响应信息 Gateway修改HTTP响应信息实践SpringCloud的过程中,使用Gateway作为路由组件,并且基于Gateway实现权限的验证、拦截、过滤,对于下游微服务的响应结果,我们总会有需要修改以统一数据格式,或者修改过滤用户没有权限看到的数据信息,这时候就需要有一个能够修改响应体的Filter。SpringCloudGateway版本为2.1.0在当前版本,ModifyRequestBodyGatewayFilterFactory是官方提供的修改响应体的参考类,ThisfilterisBETAandmay... 继续阅读 >
202110-28 Spring Cloud gateway 网关如何拦截Post请求日志 gateway版本是2.0.11.pom结构(部分内部项目依赖已经隐藏)<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!--监控相关--><dependency><groupId>org.springframework.boot</groupI... 继续阅读 >
202110-28 spring cloud gateway全局过滤器实现向request header中放数据 gateway全局过滤器向requestheader放数据exchange.getRequest().getHeaders().set();是不能向headers中放文件的这时配置一个gateway全局过滤器filter中做了向header放数据@ComponentpublicclassAuthSignatureFilterimplementsGlobalFilter,Ordered{staticLoggerlogger=LoggerFactory.getLogger(AuthSignatureFilter.class);/***全局过滤器核心方法*@paramexchange*@paramchain... 继续阅读 >
202110-28 Spring Boot文件上传最新解决方案 一、创建一个简单的包含WEB依赖的SpringBoot项目pom.xml内容:<!--SpringBootweb启动器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--jsp--><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-e... 继续阅读 >
202110-28 spring cloud gateway中如何读取请求参数 springcloudgateway读取请求参数1.我的版本:spring-cloud:Hoxton.RELEASEspring-boot:2.2.2.RELEASEspring-cloud-starter-gateway2.请求日志importlombok.extern.slf4j.Slf4j;importorg.springframework.cloud.gateway.filter.GatewayFilterChain;importorg.springframework.cloud.gateway.filter.GlobalFilter;importorg.springframework.core.io.buffer.DataBuffer;importorg.springframework.core.io.b... 继续阅读 >
202110-28 Spring Cloud Gateway去掉url前缀 SpringCloudGateway去掉url前缀主要是增加一个route,其他配置不变routes:-id:service_customeruri:lb://CONSUMERorder:0predicates:-Path=/customer/**filters:-StripPrefix=1-AddResponseHeader=X-Response-Default-Foo,Default-Bar新增的StripPrefix可以接受一个非负整数,对应的具体实现是StripPrefixGatewayFilterFactory,从名字就可以看出它的作用是去掉前缀的,那个整数即... 继续阅读 >
202110-25 Spring Boot 2.x基础教程之使用@Scheduled实现定时任务的方法 我们在编写SpringBoot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信、邮件之类的操作,也可能会定时地检查和监控一些标志、参数等。创建定时任务在SpringBoot中编写定时任务是非常简单的事,下面通过实例介绍如何在SpringBoot中创建定时任务,实现每过5秒输出一下当前时间。在SpringBoot的主类中加入@EnableScheduling注解,启用定时任务的配置@SpringBootApplication@EnableSchedulingpublicclassApplicatio... 继续阅读 >
202110-25 spring cloud gateway跨域全局CORS配置方式 在Spring5Webflux中,配置CORS,可以通过自定义WebFilter实现:注:此种写法需真实跨域访问,监控header中才会带相应属性。代码实现方式importorg.springframework.http.HttpHeaders;importorg.springframework.http.HttpStatus;importorg.springframework.http.server.reactive.ServerHttpRequest;importorg.springframework.http.server.reactive.ServerHttpResponse;importorg.springframework.web.cors.reactive.CorsUt... 继续阅读 >
202110-25 Spring Security 多过滤链的使用详解 目录一、背景二、需求1、给客户端使用的api2、给网站使用的api三、实现方案方案一:方案二四、实现1、app端SpringSecurity的配置五、实现效果1、app有权限访问api2、app无权限访问api3、admin用户有权限访问网站api4、dev用户无权限访问网站api六、完整代码一、背景在我们实际的开发过程中,有些时候可能存在这么一些情况,某些api比如:/api/**这些是给App端使用的,数据的返回都是以JSON的格式返回,且这些API... 继续阅读 >
202110-21 spring-data-redis连接操作redis的实现 Java连接redis的客户端有很多,其中比较常用的是Jedis.(参考:redisclient)spring-data-redis则是对Jedis进行了高度封装,使用起来非常方便。下面就以代码为例说明spring-data-redis的使用。整个项目使用maven管理jar包,pom文件如下:<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.o... 继续阅读 >
202110-20 spring框架集成flyway项目的详细过程 什么是SpringSpring是一个开源框架,它由RodJohnson创建。它是为了解决企业应用开发的复杂性而创建的。 Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。 然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 目的:解决企业应用开发的复杂性 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用... 继续阅读 >
202110-20 Spring Cloud Alibaba 本地调试介绍及方案设计 目录1本地调试介绍2框架环境3方案设计4实现要点5.总结附:工具方法1本地调试介绍本地调试:这里是指在开发环境中,部署了一整套的某个项目或者产品的服务,开发人员开发时,本地会起一个或多个服务,这些服务和开发环境中部署的服务是相同的,这种情况下,一个服务就会有多个实例,大多数微服务中的默认负载均衡策略都是轮询,这些实例会轮流被调用。为了方便本地调试,需要提供一种策略,可以指定在负载均衡时,选择哪个... 继续阅读 >
202110-16 理解Java注解及Spring的@Autowired是如何实现的 首先我们可以自己写一个注解:@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public@interfaceAnnoSample{Stringvalue();}注解使用@interface来标识。这个注解定义了一个属性value,只能作用于方法上,生命周期是运行时。@Target用于指定可以放置注解的位置,这里指定的METHOD说明该注解只能放置到方法上面,还可以指定TYPE(类、接口、枚举类),FIELD实例,PARAMETER形参,CONSTRUCTOR构造器等等@Ret... 继续阅读 >