摘要: 日常开发中,遇到需要从不同数据库中访问数据时,这时需要我们在项目中配置双数据源以满足开发需求。 配置结构如下: 1.yml 配置文件中配置双数据源链接地址 datasource: database1: driver-class-name: com.mysql.cj.jdbc.Driver jdbc- 阅读全文
posted @ 2023-03-22 10:13 山阴路的秋天 阅读(4769) 评论(0) 推荐(0) 编辑
摘要: java发送邮件 需要先申请邮箱的授权码,对应配置文件中的password。 1.引入jar <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dep 阅读全文
posted @ 2023-02-23 17:57 山阴路的秋天 阅读(750) 评论(0) 推荐(1) 编辑
摘要: 微服务系统内部服务相互调用使用spring-cloud-openfeign-core 的FeignClient 源码如下: @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited p 阅读全文
posted @ 2023-02-17 16:02 山阴路的秋天 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 1. 通过注解的形式实现通用接口访问次数限制 (1)pom.xml文件中引入expiringmap <dependency> <groupId>net.jodah</groupId> <artifactId>expiringmap</artifactId> <version>0.5.10</vers 阅读全文
posted @ 2022-11-25 18:17 山阴路的秋天 阅读(3033) 评论(0) 推荐(0) 编辑
摘要: 日常开发中,经常会有独立于业务之外的配置模块,可能多个项目公用该配置,例如内容审核,短信登录等,如果在每个项目中多次引用太过麻烦。因此我们可以将配置模块封装为starter,需要时在模块pom中添加该依赖,方便复用。 命名规则: SpringBoot提供的starter以 spring-boot-s 阅读全文
posted @ 2022-10-19 11:20 山阴路的秋天 阅读(908) 评论(0) 推荐(0) 编辑
摘要: 开发中 遇到关键词搜索的情况,需要对输入内容分词进行模糊匹配,下面推荐一个分词插件-结巴分词。 源码地址:https://github.com/huaban/jieba-analysis 1.引入相关jar <dependency> <groupId>com.huaban</groupId> <ar 阅读全文
posted @ 2022-08-23 11:08 山阴路的秋天 阅读(1645) 评论(0) 推荐(0) 编辑
摘要: 在项目中获取用户信息 会被频繁用到,那么怎么可以快速简洁的实现获取当前请求用户信息呢? 可以通过自定义注解实现,详情如下: 1.自定义注解:@Target({ElementType.PARAMETER}) 表明该注解作用于参数上。 @Target({ElementType.PARAMETER}) @ 阅读全文
posted @ 2022-06-13 14:39 山阴路的秋天 阅读(269) 评论(0) 推荐(0) 编辑
摘要: RabbitMQ 是实现 AMQP(高级消息队列协议)的消息中间件的一种,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 核心概念:Connection(连接)、Channel(信道)、Exchange(交换机) 阅读全文
posted @ 2022-06-10 17:09 山阴路的秋天 阅读(640) 评论(0) 推荐(0) 编辑
摘要: 系统进行高并发处理时 ,往往需要进行限流处理,防止因流量过大导致服务不可用,也可防止网络攻击。 常见的限流算法: 1.计数器算法: 一般我们会限制一秒钟的能够通过的请求数,比如限流qps为100,算法的实现思路就是从第一个请求进来开始计时,在接下去的1s内,每来一个请求,就把计数加1,如果累加的数字 阅读全文
posted @ 2022-05-11 14:33 山阴路的秋天 阅读(805) 评论(0) 推荐(0) 编辑
摘要: java 泛型是JDK5引入的新特性,在编译期检查代码类型的正确性。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 java泛型是一个伪泛型,因为在代码运行期间,泛型会被擦除。 例如代码: List<Long> idList = new ArrayList<>(); idList 阅读全文
posted @ 2022-02-16 14:00 山阴路的秋天 阅读(994) 评论(0) 推荐(0) 编辑