@AemsRedisCache(key = "'spatialId_'+#spatialId+'_neId_+'#neId'")
public SfSpatial findBySpatialId(String spatialId,String neId) throws Exception{
String sql = SpatialDB.Find_Spatial_By_SpatialId;
MapSqlParameterSource params = new MapSqlParameterSource();
params.addValue("spatialId", spatialId);
params.addValue("neId", neId);
RowMapper<SfSpatial> rowMapper = BeanPropertyRowMapper.newInstance(SfSpatial.class);
List<SfSpatial> resultList = template.query(sql, params, rowMapper);
return (resultList==null || resultList.isEmpty()) ? null : resultList.get(0);
}
自定义注解@AemsRedisCache需要完成自动从Redis中读,没有则进入该方法。
在@AemsRedisCache的AOP方法中,需要将注解key中的el表达式自动换为方法参数
1.获得参数名的String[]
LocalVariableTableParameterNameDiscoverer descoverer = new LocalVariableTableParameterNameDiscoverer();
S