240 发简信
IP属地:福建
  • 另外 每个实现类里面加getServiceProviderName 这个方法,感觉也不太合适。
    这里可以考虑用枚举+自定义注解+扫描的方式实现

    Spring中如何实现策略模式

    if-else 假设现在要开发一个邮件服务,要对接所有的邮件服务提供厂商,那么代码可能是这样的: Oh,My God!这简直是灾难,让我们用策略模式让代码更加具备扩展性吧。 ...

  • MailStrategyContext 里面如果加一个
    获取 MailStrategyService mailStrategyService = strategy.get(strategyName);的方法

    然后客户端调用的时候 直接从这个方法里面取MailStrategyService 实例这样也可以啊

    这样感觉就跟简单工厂模式一样了 没啥区别了吧

    Spring中如何实现策略模式

    if-else 假设现在要开发一个邮件服务,要对接所有的邮件服务提供厂商,那么代码可能是这样的: Oh,My God!这简直是灾难,让我们用策略模式让代码更加具备扩展性吧。 ...

  • computeIfAbsent lambda 表达式 计算 性能会有影响 42ms左右,
    正常写法是0ms

    从斐波那契数列面试算法题讲起:看看如何高效利用HashMap

    1. 斐波那契数列 斐波那契数列是面试中常问的一道算法题。为了避免有些同学不知道,这里先说一下其定义: 斐波那契数列(Fibonacci sequence),又称黄金分割数列...

  • 我们获取到用户的角色和角色对应的资源和资源对应的访问url就可以去做判断了

    如果一个页面有很多个url呢,这个怎么配置?

    垂直越权解决方案

    简介 垂直越权是一种非常常见且非常严重的权限漏洞,具体表现就是,低权限的用户可以不受控制的访问高权限用户的资源。 方案一 基于资源限定的角色来进行垂直越权控制(如:shiro...

  • 秘钥是不能放前端的,AES加密的方案

    使用@RequestBodyAdvice处理客户端的加密请求体

    业务场景:客户端把json数据进行加密后,编码成Base64字符串,提交给服务器。服务器再进行解密。使用 @RequestBodyAdvice,可以在不修改任何Control...

  • 秘钥怎么能放前端呢?

    前端 crypto-js aes 加解密

    前端 crypto-js aes 加解密 背景 前段时间公司做项目,该项目涉及到的敏感数据比较多,经过的一波讨论之后,决定前后端进行接口加密处理,采用的是 AES + BAS...

  • init 里面缓存商品列表,如果系统启动多次,这个缓存的list列表就有多次的重复数据,这个肯定是有问题的

    Redis使用list队列做商品秒杀

    本代码是基于redis的list做秒杀系统: 基于Spring: Redis操作: 跑一下结果: 成功的线程name: pool-3-thread-544成功的线程name:...

  • 前端存储secret是最为关键的,前端存储secret肯定是不安全,重点也就在这块

    你的Springboot项目API接口安全吗?一招签名校验让你睡的安心

    前言 现在的项目都采用前后端分类的方式开发了,前后端的通讯方式都通过API进行传输。我们知道,如果是管理后台的开发,可以通过shiro或springSecurity进行权限控...

  • 文件名不应该是 log4j2-spring.xml吗

    6.1-springboot2.0的log4j2配置

    springboot2.0 如何配置log4j2? 吐槽: 查了2天的log4j2的知识,现在刚能配置出来,在此记录下,还有很多不明白的地方,感觉像是瞎配的。想去官网看的,看...

  • @一一道长一一 加密算法不公开,就不是加密算法了

    API接口安全性设计

    接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,下面具体来看: Token授权机制:用户使用用户名密码登录后...

  • @筱眞 哦,3Q

    Oauth2学习笔记-认证授权

    用户认证 用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。用户授权...

  • @筱眞 我们前端是用的spa 不是PC前端了,跟api是物理隔离,单独部署的。完全的前后端分离。前端node渲染,不再是服务端渲染

    Oauth2学习笔记-认证授权

    用户认证 用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。用户授权...