CommonImportConfig.java 1.43 KB
package com.tanpu.community.config;


import com.tanpu.common.auth.LoginInterceptor;
import com.tanpu.common.error.GlobalExceptionHandler;
import com.tanpu.common.log.WebLogInterceptor;
import com.tanpu.common.uuid.UuidGenHelper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.aspectj.AspectJExpressionPointcut;
import org.springframework.aop.support.DefaultPointcutAdvisor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.core.Ordered;

/**
 * 引入登录拦截、唯一id生成、日志记录、异常处理
 * created by xd on 2021/6/19
 */
@Slf4j
@Configuration
@Import({LoginInterceptor.class, UuidGenHelper.class, WebLogInterceptor.class, GlobalExceptionHandler.class})
public class CommonImportConfig {
    @Bean
    public DefaultPointcutAdvisor webLogAdvisor(WebLogInterceptor webLogInterceptor) {
        log.info("build webLogAdvisor");

        DefaultPointcutAdvisor webLogAdvisor = new DefaultPointcutAdvisor();
        webLogAdvisor.setOrder(Ordered.HIGHEST_PRECEDENCE);

        AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();
        pointcut.setExpression("execution(* com.tanpu.community.controller.*Controller.*(..))");
        webLogAdvisor.setPointcut(pointcut);
        webLogAdvisor.setAdvice(webLogInterceptor);

        return webLogAdvisor;
    }


}