随笔分类 -  Spring Cloud分布式微服务实战,养成应对复杂业务的综合技术能力 笔记

摘要:在分布式中 多个服务一般分别部署在不同的服务器中 不同的服务器因为作用域不同无法共享session 为了解决这一问题 可以自己生成一个token 访问服务时 判断token是否合法 如果合法则放行 只有token是无法识别用户的 所以还得保存一个UserId 在本项目中似乎未验证token 只要不为 阅读全文
posted @ 2021-07-22 15:02 RainbowMagic 阅读(147) 评论(0) 推荐(0) 编辑
摘要:Bo(business object) 封装业务对象的属性 只包含业务对象的属性; 只包含业务方法; 两者都包含。 service层和web层进行数据交换用BO 从业务模型角度看,见UML元件领域模型中的领域对象。 通过调用DAO方法,结合PO,VO进行业务操作。把业务逻辑封装为一个对象。这个对象可 阅读全文
posted @ 2021-07-20 23:27 RainbowMagic 阅读(541) 评论(0) 推荐(0) 编辑
摘要:如果直接使用new Execption的方抛出异常 代码中将会出现大量的try catch语句 而直接使用new runTimeExecption的方式无法返回值 使用自定义异常和Spring统一处理异常可以解决这两个问题 定义一个类用于抛出自定义异常 当有需要抛出异常的地方的时候 直接调用这个方法 阅读全文
posted @ 2021-07-20 22:49 RainbowMagic 阅读(165) 评论(0) 推荐(0) 编辑
摘要:所谓限制短信发送频率 大体思路是 判断之前发送短信存储的ip在redis是否存在 若存在则拦截 实现 HandlerInterceptor 类 类中有三个方法分别是 afterCompletion: controller执行之后 渲染视图之后 postHandle: controller 执行之后 阅读全文
posted @ 2021-07-18 22:38 RainbowMagic 阅读(337) 评论(0) 推荐(0) 编辑
摘要:跨越问题: 因为安全问题只能访问同源的域名 不同源的请求将会被拦截 编写配置类 配置跨域信息 @Configuration public class CorsConfig { @Bean public CorsFilter corsFilter() { // 1. 添加cors配置信息 CorsCo 阅读全文
posted @ 2021-07-18 20:57 RainbowMagic 阅读(30) 评论(0) 推荐(0) 编辑
摘要:短信发送的大体思路: 根据ip地址来控制短信的发送 每60S同一个ip只能发送一条短信 将ip拼接记录至redis中 发送短信时 判断ip是否存在 若存在 禁止发送短信 根据math.random来生成短信验证码 将double转为int可舍去小数点后的数 将验证码存储至redis中 登录时根据手机 阅读全文
posted @ 2021-07-18 20:41 RainbowMagic 阅读(58) 评论(0) 推荐(0) 编辑
摘要:因为申请阿里云短信服务未通过 暂且写死 和之前一样 先新建一个接口 一定要添加 Component 注解 否则无法注入到spring容器中 接口的好处是解耦合 使用实现使 只需注入接口即可 若业务发生改变 无需修改接口 修改业务类即可 这样就实现了解耦合 @Api(value = "登录注册api" 阅读全文
posted @ 2021-07-14 16:12 RainbowMagic 阅读(50) 评论(0) 推荐(0) 编辑
摘要:docker pull redis 拉取docker镜像 运行服务 docker gui https://github.com/qishibo/AnotherRedisDesktopManager/releases 安装redis $ wget https://download.redis.io/r 阅读全文
posted @ 2021-07-14 15:47 RainbowMagic 阅读(32) 评论(0) 推荐(0) 编辑
摘要:在resource目录下配置一个aliyun.properties文件 用于存储密钥 @PropertySource 用于寻找要加载properties文件目录 ConfigurationProperties 寻找propeties中自动添加前缀 之后只要在类中添加properties文件中去除前缀 阅读全文
posted @ 2021-05-27 23:30 RainbowMagic 阅读(159) 评论(0) 推荐(0) 编辑
摘要:首先 使用@EnableSwagger2 使项目开启swagger功能 apinfo用于配置文档的基本信息 private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("自媒体接口API") .contact(new Contact( 阅读全文
posted @ 2021-05-27 22:33 RainbowMagic 阅读(58) 评论(0) 推荐(0) 编辑
摘要:可以使用枚举类 + result对象来配置统一返回的json字符串 枚举类用于定义状态码以及 result返回结果 可以errorCustom()方法来自定义错误信息 package com.lyra.result; import java.util.Map; /** * 自定义响应数据类型枚举升级 阅读全文
posted @ 2021-04-27 20:38 RainbowMagic 阅读(114) 评论(0) 推荐(0) 编辑
摘要:logback的配置 新建一个logback--spring.xml文件放入resource目录中并写入以下内容 <?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 指定日志文件的存储地址,使用绝对路径 --> <property 阅读全文
posted @ 2021-04-27 18:26 RainbowMagic 阅读(206) 评论(0) 推荐(0) 编辑
摘要:所有的接口服务接口都在service-api子工程管理 因为微服务项目 很多controller分散在不同的子工程中 很难统一查看和管理 其次 以后如果spring boot这项技术慢慢的变得不流行之后 重构项目时 不用接口 而直接修改实现即可 这样就实现了解耦 微服务也是基于接口来调用的 swag 阅读全文
posted @ 2021-04-27 17:48 RainbowMagic 阅读(138) 评论(0) 推荐(0) 编辑
摘要:项目聚合图 项目分为三部分 common用于存放工具类 枚举类 等公共基础累 model用于存放bean entity dto等实体类 api用于存放controller接口 创建maven项目 聚合项目分为父工程和子工程 两者是子父继承关系 子模块可以使用父模块的所有资源 若子模块想使用子模块的资 阅读全文
posted @ 2021-04-27 12:42 RainbowMagic 阅读(78) 评论(0) 推荐(0) 编辑
摘要:MariaDB的安装 我使用的是docker直接pull start即可 10 2021-04-27 10:05:53 sudo docker pull mariadb 11 2021-04-27 10:06:20 sudo docker images 12 2021-04-27 10:06:40 阅读全文
posted @ 2021-04-27 10:21 RainbowMagic 阅读(75) 评论(0) 推荐(0) 编辑
摘要:为什么要使用虚拟域名 分布式应用将不同的微服务部署在不同的服务器上 有多个不同的ip地址 需要记住多个ip 不利于开发 所以要使用虚拟域名 将域名和本地ip绑定就不用记ip地址 直接使用域名访问 SwitchHost的使用 进入switchHost官网点击下载 https://swh.app/zh/ 阅读全文
posted @ 2021-04-27 07:29 RainbowMagic 阅读(315) 评论(0) 推荐(0) 编辑
摘要:打开tomcat官网: https://tomcat.apache.org/download-10.cgi 点击tomcat版本 找到自己电脑的系统 然后点击下载 解压 打开conf/server.xml 找到 20.cnblogs.com/blog/1859679/202104/1859679-2 阅读全文
posted @ 2021-04-26 20:49 RainbowMagic 阅读(77) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示