AOP应用场景-初始化类参数
package com.sinoprof.spm_vendor_manage.materialManager.aop;
import com.sinoprof.spm_vendor_manage.centerSign.aop.CenterSignAop;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.List;
@Component
@Aspect
public class InitParamAop {
private static org.slf4j.Logger logger = LoggerFactory.getLogger(CenterSignAop.class);
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Before(value = "execution(* com.sinoprof.spm_vendor_manage.materialManager.service.impl.MaterialManagerServiceImpl.*(..))")
public void InitializationParameters(JoinPoint point)throws Exception{
logger.info("------一码到底 业务开始 。。。");
String methodName = point.getSignature().getName();
Object target = point.getTarget();
Class clazz = target.getClass();
Field orgId = clazz.getDeclaredField("orgId");
Field cityId = clazz.getDeclaredField("cityId");
orgId.setAccessible(true);
cityId.setAccessible(true);
orgId.set(target,stringRedisTemplate.opsForValue().get("orgs"));
cityId.set(target,stringRedisTemplate.opsForValue().get("citys"));
List


