栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

AOP应用场景-初始化类参数

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AOP应用场景-初始化类参数

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 args = Arrays.asList(point.getArgs());
        System.out.println("调用前连接点方法为:" + methodName + ",参数为:" + args);
    }
}


转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号