Spring Aop中解析spel表达式,实现更灵活的功能

前言 在Spring Aop中,我们可以拿到拦截方法的参数,如果能结合spel表达式,就能实现更加灵活的功能。典型的实现有Spring的缓存注解: 1@Cacheable(value = "user", key = "#id", condition = "#id lt 10") 2public User conditionFindById(final Long id) { 3} 1@Caching(put = { 2@CachePut(value = "user", key = "#user.id"), 3@CachePut(value = "user", key = "#user.username"), 4@CachePut(value = "user", key = "#user.email") 5}) 6public User save(User user) { 本文介绍如何在aop编程中解析spel表达式,提供几个通用的方法。 ...

2019年2月25日 · 2 分钟 · 865 字

Spring Boot中如何干掉if else

前言 看到crossoverJie的文章《利用策略模式优化过多 if else 代码》后受到启发,可以利用策略模式简化过多的if else代码,文章中提到可以通过扫描实现处理器的自注册,我在这里介绍在Spring Boot框架中的实现方法。 ...

2019年2月2日 · 4 分钟 · 1976 字

【Java】使用位运算(&)代替取模运算(%)

介绍 位运算(&)效率要比取模运算(%)高很多,主要原因是位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快。 1a % b == a & (b - 1) 前提:b 为 2^n ...

2018年10月11日 · 1 分钟 · 476 字

Spring Cloud Feign 熔断机制填坑

问题 最近在项目开发中,使用 Feign 调用服务,当触发熔断机制时,遇到了以下问题: 异常信息形如:TestService#addRecord(ParamVO) failed and no fallback available.; 获取不到服务提供方抛出的原始异常信息; 实现某些业务方法不进入熔断,直接往外抛出异常; 接下来将一一解决上述问题。 ...

2018年6月13日 · 4 分钟 · 1861 字

Spring Boot实现通用的接口参数校验

本文介绍基于Spring Boot和JDK8编写一个AOP,结合自定义注解实现通用的接口参数校验。 缘由 目前参数校验常用的方法是在实体类上添加注解,但对于不同的方法,所应用的校验规则也是不一样的,例如有一个AccountVO实体: ...

2018年5月10日 · 3 分钟 · 1486 字

Spring Cloud Feign 文件传输

微服务中通常使用 Feign 作为服务消费者,那么如何使用 Feign 接口传输文件呢? 一、配置文件解析器 服务提供者和消费者都需要配置文件解析器,这里使用commons-fileupload替换原有的解析器: ...

2018年4月27日 · 2 分钟 · 673 字

轻松搞定增删改查 - Mybatis通用Mapper介绍与使用

前言 使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQL。而且,当数据库表结构改动时,对应的所有SQL以及实体类都需要更改。这工作量和效率的影响或许就是区别增删改查程序员和真正程序员的屏障。这时,通用Mapper便应运而生…… ...

2017年12月21日 · 6 分钟 · 2864 字

MyBatis分页插件(PageHelper)介绍与集成SpringMVC

如果你也在用 MyBatis,建议尝试该分页插件,这一定是最方便使用的分页插件。 分页插件的必要性 互联网应用中,分页可谓无处不在,在每个需要展示数据的地方,都能找到分页的影子。在日常开发中,为了追求效率,通常使用数据库的物理分页。这时,对于一个业务逻辑SQL,大多数情况需要输出两段SQL来达到分页效果:count查询总数和limit分页,这无疑增加了大量的工作量。对于这种大量的、相似的、非业务逻辑的代码,抽象出公共插件是势在必行的。 ...

2017年12月15日 · 5 分钟 · 2288 字

CentOS 7 防范暴力破解

前段时间在国外的服务器上搭建了CentOS,没想到过了几天上去一看,有2万多次的尝试登陆记录: 1# 查看系统登陆日志 2vim /var/log/secure 顿时吓尿了,后来经过一番搜查,定下了两个防范措施: ...

2017年12月7日 · 2 分钟 · 858 字

Thrift 连接 Java 与 Python,附 Java 通用工厂方法

Python 作为服务端,Java 作为客户端调用 Python 提供的接口。本文主要按照这篇文章的思路连通 Python 与 Java,下面简单介绍一下如何使用,具体可参看原文章。最后重点提供一个 Java 的通用工厂方法,用来调用 Thrift 提供的接口。 ...

2017年9月22日 · 3 分钟 · 1055 字
👋欢迎来到我的技术博客🌟
这是一片专注于前沿技术探索的园地,涵盖:
  • Web3与区块链(BTC、ETH、区块链基础设施)
  • 后端技术栈(Java、Go、Python)
  • 人工智能与数据科学(ML、DL、数据挖掘)
  • 系统安全与运维(服务器、网络、容器化)
📫 联系方式