![](https://img-blog.csdnimg.cn/20190902101628135.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring Cloud微服务
F元凯
无论走了多远,错了,就要重头来过!
展开
-
SpringBoot项目启动时自动执行多个SQL脚本
目录背景解决方案注意补充说明背景有一个项目fyk-config,该项目需要在配置的时候,需要创建一个配置表(FYK_PROPERTIES),并且向该表中插入各个微服务的配置记录。解决方案在SpringBoot中,有一个DataSourceInitializer类,该类会在项目启动的时候,执行初始化脚本。具体代码如下:首先,在resources目录下,创建文件夹scritp/db,然后在db文件夹下,放入sql文件:然后,在项目中,写一个配置类:@Slf4j@Configurationpu原创 2020-08-09 16:57:07 · 2233 阅读 · 2 评论 -
SpringBoot项目中,bootstrap.properties文件不生效
解决方案需要加入如下依赖:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-context</artifactId></dependency>说明在开发微服务的时候,其他项目添加bootstrap文件都生效的,但是今天新建的一个项目,这个文件没有生效。原因该项目由于才在初始开发的阶段,无须加原创 2020-06-14 18:34:53 · 8193 阅读 · 0 评论 -
SpringCloud微服务——Feign调用其他服务
前言在微服务中,有多个服务:A、B、C等等。如果前端访问A服务做一个业务,其中一个环节是需要B服务的支持,也就是在A服务中,要调用B服务,这个时候,可以使用Feign来实现。假定A调用B,则A为客户端,B为服务端。服务端的写法,不用说了,就和Spring MVC中Contoller的代码写法一样。以下就介绍客户端的写法。添加jar包这里只是给出了feign的包,其他的依赖包根据项目而定:&...原创 2019-08-29 18:18:21 · 2881 阅读 · 0 评论 -
SpringCloud微服务——基于security+oauth2的安全保护(三):资源服务
在实现方式一文中,已经说明了资源服务的代码结构。现在开始具体的实现。加入jar包在公用的pom文件中,引入jar包:<!-- security oauth2 start --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring...原创 2019-08-13 09:57:12 · 5719 阅读 · 0 评论 -
SpringBoot之ApplicationRunner(一个spring容器启动完成执行的类)
在项目中,可能会遇到这样一个问题:在项目启动完成之后,紧接着执行一段代码。在SpringBoot中,提供了一个接口:ApplicationRunner。该接口中,只有一个run方法,他执行的时机是:spring容器启动完成之后,就会紧接着执行这个接口实现类的run方法。@Componentpublic class PublishEndpoint implements Application...原创 2019-08-16 13:32:46 · 17469 阅读 · 0 评论 -
SpringCloud微服务——配置中心config(oracle数据库实现方式)
客户端pom文件中,引入jar包:<!-- spring cloud config start --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-client</artifactId>...原创 2019-08-15 15:05:38 · 4030 阅读 · 0 评论 -
SpringCloud微服务——基于security+oauth2的安全保护(七):非JWT方式下获取登录人信息
在上一个文章中(JWT方式下获取登录人信息),介绍了在JWT方式下获取登录人信息的方式。这里再介绍使用jdbc和redis存储token的方式下,获取登录人信息。授权服务改造授权服务的改造很简单,因为要写的代码,在JWT方式下获取登录人信息中已经写了,所以,只需要在授权服务配置类OAuth2AuthorizationConfig中做一下调整:@Overridepublic void con...原创 2019-08-15 13:57:30 · 1948 阅读 · 1 评论 -
SpringCloud微服务——基于security+oauth2的安全保护(六):JWT方式下获取登录人信息
文章目录添加额外的信息授权服务改造添加CustomTokenEnhancer类:授权服务配置类:OAuth2AuthorizationConfig改造资源服务改造新增CustomerAccessTokenConverter类:资源服务配置类改造:OAuth2ResourceConfig公共方法在使用JWT存储token的时候,由于授权服务把token给了资源服务之后,资源服务就不会再访问授权服务...原创 2019-08-14 17:58:38 · 4467 阅读 · 0 评论 -
security整合oauth2(jwt非对称加密):For MAC signing you do not need to specify the verifier key separately...
在进行security+oauth2整合,使用jwt非对称加密存储token的时候,出现了一个错误;org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.security.oauth2.config.annotatio...原创 2019-08-14 14:23:57 · 5244 阅读 · 0 评论 -
SpringCloud微服务——基于security+oauth2的安全保护(五):授权服务之JWT
使用JwkTokenStore存储token的时候,需要使用jks文件作为Token加密的密匙。本文使用java的keytool生成jks文件(首先要安装好JDK环境)。首先CMD打开终端窗口,要生成在哪个目录,就进入哪个目录,然后执行:keytool -genkeypair -alias fyk-jwt -validity 365 -keyalg RSA -dname "CN=fyk,OU...原创 2019-08-14 14:11:41 · 3147 阅读 · 0 评论 -
SpringCloud微服务监控——zipkin:微服务链路跟踪
文章目录服务端下载jar包编写启动脚本客户端引入jar包添加配置文件总结在搭建zipkin服务端的时候,以前通常的做法是:在pom文件中加入jar包:<dependency> <groupId>io.zipkin.java</groupId> <artifactId>zipkin-server</artifactId>...原创 2019-08-07 17:00:27 · 5602 阅读 · 1 评论 -
SpringCloud微服务——基于security+oauth2的安全保护(一):实现方式
现在是这么一个情况:在我的微服务中,有多个业务服务以及一些微服务相关的基础服务。他们都注册到了eureka。并且,通过zuul网关都可以访问到每个业务服务提供的API。现在,这些API中99%的,需要认证之后才能访问到。简单的说就是,不能随便输入一个地址,就能访问到我微服务的内容。由于这些服务都做好了,所以我尽量不动这些服务的代码。采用security+oauth2的方式来进行安全保护。实...原创 2019-08-09 17:57:09 · 8220 阅读 · 0 评论 -
SpringCloud微服务——基于security+oauth2的安全保护(二):授权服务
Spring Security配置:Spring OAuth2分为两部分:OAuth2 Provider和OAuth2 Client。OAuth2 ProviderOAuth2 Provider的角色被分为授权服务(Authorization Service)和资源服务(Resource Service)。这两个角色可以在一个服务中,也可以不再一个服务中,也可能是一个授权服务,对应多个资源...原创 2019-08-09 17:55:36 · 5936 阅读 · 6 评论 -
SpringCloud微服务监控——admin(三):admin客户端
admin服务端编写好了之后,还需要对客户端进行一些改造:1):在POM中添加jar包:<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId></depend...原创 2019-08-07 13:49:07 · 3315 阅读 · 0 评论 -
SpringCloud微服务监控——admin(二):admin服务端加入邮件通知
在admin监控的时候,我们希望的是如果有某个服务挂了,那么就发一个邮件,告诉我这个服务挂掉了。1):在pom文件中,加入包依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</art...原创 2019-08-07 13:43:44 · 4884 阅读 · 1 评论 -
SpringCloud微服务监控——admin(一):admin服务端搭建并加入安全控制
在SpringCloud微服务中,有多个服务,要监控这些服务是否已经挂掉,这时可以使用admin来实现。代码如下:基础工程的搭建何其他的微服务一样,不再赘述。1):在pom文件中加入依赖:<!-- eureka client start --><dependency> <groupId>org.springframework.cloud</...原创 2019-08-07 13:37:29 · 5192 阅读 · 0 评论 -
报错:java.lang.NoSuchMethodError: org.springframework.data.redis.connection.RedisConnection.set([B[B)V
在spring security oauth2中,授权服务使用redis存储token的时候,报错:java.lang.NoSuchMethodError: org.springframework.data.redis.connection.RedisConnection.set([B[B)V这说明版本有问题,解决方案是,将oauth2的版本升级到2.3.3,即在pom文件中,加入:<...原创 2019-08-13 12:54:47 · 10516 阅读 · 7 评论 -
Feign客户服务端配置了server.servlet.context-path,客户端无法调用
Feign客户服务端配置了server.servlet.context-path,客户端无法调用背景问题解决方法背景Feign服务方有配置:spring.application.name=scms-vendor-portals-fyk,服务端Feign的代码大致如下:@RestController@RequestMapping("/bomProductFeignService")publ...原创 2019-04-02 19:15:44 · 7793 阅读 · 2 评论