micro service
文章平均质量分 59
Hello, I'm Tina
Seize the day. Make your lives extraordinary.
展开
-
开关控制开启和禁用Redis
开关开启和禁用redis原创 2022-07-05 17:02:53 · 2434 阅读 · 1 评论 -
Could not resolve placeholder error
springboot启动遇到“Could not resolve placeholder "xxx” in value "${zzz}"原创 2021-06-19 14:45:48 · 974 阅读 · 0 评论 -
ShedLock的使用
Shedlock是一个锁,用于在分布式环境中执行定时任务。要解决的问题:在分布式环境中如何避免多个实例在同一时间重复执行定时任务。解决方法:对公共数据库中的某个表进行记录和加锁,保证同一时间只有第一个实例执行定时任务,其他实例直接跳过该任务。git地址:https://github.com/lukas-krecan/ShedLock引用依赖:<dependency> <groupId>net.javacrumbs.shedlock</groupId原创 2021-04-11 16:09:12 · 852 阅读 · 0 评论 -
Spring Cloud全家桶的使用和理解
前段时间做的项目中使用了Spring Cloud的Eureka,Ribbon,Feign,Hystrix等技术,根据个人理解整理成下图:Eureka:服务注册、服务发现、服务续约、自我保护、失效剔除、健康监控Ribbon:负载均衡,主要处理方法包括顺序轮询、加权轮询、最少连接、最快响应、Hash法Feign:服务调用。首先 Ribbon 会从 Eureka Client 里获取到对...原创 2018-12-04 11:14:59 · 2558 阅读 · 0 评论 -
JWT实践
先画一下我的项目中是如何使用JWT的: 说明:1. 登陆时根据用户信息生成token,将token传到前端;2. 前端保存在localStorage中;3. 之后前端的每次请求都从localStorage中读取出token,并在header中携带token;4. 后端在拦截器中拦截所有的请求(除了白名单中的路径,比如登陆),拦截后获取header中的token,根据to...原创 2018-12-10 17:59:02 · 508 阅读 · 0 评论 -
Dubbo+zookeeper
先说一下CAP:Consistency(一致性): 在分布式系统中,任何时刻,所用的应用程序都能访问得到相同的数据。Availability(可用性):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。Partition tolerance(分区容忍性) :以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前...原创 2018-12-03 18:00:36 · 108 阅读 · 0 评论 -
spring boot集成quartz实现定时任务的增删改查
整理一下很久之前写的quartz集成到spring boot代码,主要为了实现可视化操作定时任务,只添加了后台rest接口和代码,前台代码请自行处理。1. 引入quartz<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</a...原创 2018-12-29 16:13:44 · 3223 阅读 · 6 评论 -
Failure to find org.springframework.cloud:spring-cloud-dependencies:pom:Greenwich.M1
错误信息:[ERROR] Non-resolvable import POM: Failure to find org.springframework.cloud:spring-cloud-dependencies:pom:Greenwich.M1 in http://maven.aliyun.com/nexus/content/groups/public/ was cached in...原创 2019-01-22 14:17:21 · 24457 阅读 · 2 评论 -
数据字典的代码示例
数据字典UI设计:设计说明:1. 该数据字典支持多级节点。2. 左边是数据字典树;右边是编辑框,可以对某个数据字典及其一级子节点进行编辑。 代码:https://github.com/tinazhao1985/spring-cloud-demo/tree/master/dict-demo代码说明:1. 示例提供了七个接口:新增、编辑、修改、删除、启用、禁用、树结构查...原创 2019-01-22 15:16:00 · 5828 阅读 · 1 评论 -
Spring WebFlux相关概念和用法学习
学习别人的代码时看到pom中引用了spring-boot-starter-webflux,不知道是做什么用的,查了写资料整理如下:1. 是什么?Spring WebFlux是Spring Framework 5.0中引入的新的响应式Web框架,可以用来建立异步的、非阻塞的、事件驱动的服务。它采用Reactor作为首选的响应式流的实现库,不过也提供了对RxJava的支持。 2. Sp...原创 2019-01-29 17:58:23 · 704 阅读 · 0 评论 -
Nacos server搭建尝试
参考官网https://nacos.io/zh-cn/docs/what-is-nacos.html,下载包后解压到指定目录下注:指定的目录中不能带空格,如C:\Program Files在D:\source\nacos\bin路径下,双击startup.cmd启动nacos server注:启动后如果不能访问下面的url,请使用命令行模式打开,在cmd中输入.\startup.cmd,即可看...原创 2019-02-12 09:46:03 · 6605 阅读 · 0 评论 -
spring boot admin
spring boot admin:用来监控spring boot服务。原理:把spring boot actuator中endpoint暴露出来的json数据进行可视化显示到界面上。可以通过Eureka监控注册到其中的服务。demo使用spring boot2.1版本:https://github.com/tinazhao1985/spring-cloud-demo/tree/maste...原创 2018-11-16 17:00:29 · 808 阅读 · 0 评论 -
spring boot跨域问题
前后端分离的系统通常会出现跨域问题,最简单的办法是在每个controller上面添加注解:@CrossOrigin(origins = "*")但是,如果要对exception统一进行处理,使用@ControllerAdvice注解一个全局拦截器后,无法像controller一样添加注解就可以解决跨域问题,暂时还没有搜索到解决办法,期待哪位大神能给个提示。package test....原创 2018-10-10 17:23:56 · 279 阅读 · 0 评论 -
spring boot国际化——MessageSource的使用
修改properties文件的目录:在application.yml或者application.properties中配置 spring.message.basenamespring: application: name: test-worklog messages: basename: i18n/messages encoding:...原创 2018-05-14 16:36:55 · 30967 阅读 · 3 评论 -
spring boot异步
启动类添加注解: @EnableAsync 异步方法添加注解:@Async获取异步方法执行后的返回值: @Async public Future<String> doTaskOne() throws Exception { System.out.println("开始做任务一"); long start = System.curren...原创 2018-05-14 16:41:18 · 165 阅读 · 0 评论 -
spring boot参数配置和获取
yml中配置如下参数:worklog: overdue: 7 beforeDay: 3 workload: standard: 8 exceed: 16 upload: maxSize: 2000000通过configuration获取:import lombok.Data;import org.springframework.beans.factor...原创 2018-05-14 16:47:27 · 1450 阅读 · 0 评论 -
Feign的使用
1. 启动类添加注解@EnableFeignClients2. 调用接口:@FeignClient(value = "ace-apply")public interface IApplyService { /** * 提交审批 * * @param data * @return */ @RequestMapping(value ...原创 2018-05-14 17:28:40 · 1003 阅读 · 0 评论 -
Eureka
Eureka已经使用了一段时间,只知道一些基本原理和概念。今天通过下面这篇文章更深入的学习了Eureka。https://www.cnblogs.com/woshimrf/p/springclout-eureka.html基本用法:1. 注册中心:引入依赖:<dependency> <groupId>org.springframework.cloud</grou...转载 2018-05-21 15:26:34 · 121 阅读 · 0 评论 -
Swagger2集成到spring boot
依赖:<!-- swagger --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version>&am原创 2018-06-27 14:09:10 · 186 阅读 · 0 评论 -
@ConditionalOnProperty
@ConditionalOnProperty作用:通过属性name和havingValue来控制某个configuration是否生效。其中name用来读取application.properties或者application.yml中的某个属性值。如果该值为空,则返回false,即configuration不生效;如果值不为空,则将该值与havingValue指定的值进行比较,相同则返回true...原创 2018-07-02 17:12:43 · 4298 阅读 · 0 评论 -
实现ApplicationListener
需求:服务启动成功后需要加载数据字典到缓存中。实现:@Componentpublic class DataListener implements ApplicationListener<ApplicationReadyEvent> { @Autowired private DictBiz dictBiz; /** * 应用启动成功后加载数据字典到...原创 2018-07-02 17:37:10 · 1442 阅读 · 0 评论 -
spring boot集成freemarker
1. 添加依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId></dependency>2. 配置yml:spring: freemarker: template-loader-path: classpath:/te原创 2018-09-06 09:20:20 · 631 阅读 · 0 评论 -
从HttpServletRequest中读取url和参数
1. URL:String url = request.getRequestURI();2. 请求方式:String method = request.getMethod(); 3. 跟在url后面的参数:String param = request.getQueryString(); 该方法获取到的参数,部分字符是经过转义的,如"<"转义成"%3C"等。另...原创 2018-10-10 17:13:07 · 26247 阅读 · 3 评论 -
spring boot日志配置
application.yml配置日志输入路径和日志级别logging: level: com.test.worklog: DEBUG file: test-worklog.log日志级别从低到高分为:TRACE < DEBUG < INFO < WARN < ERROR < FATAL 。 说明:如果设置为 WARN ,则低于 WA...原创 2018-05-14 16:28:40 · 102 阅读 · 0 评论