婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > JSP 自定義注解及記錄操作日志

JSP 自定義注解及記錄操作日志

熱門標(biāo)簽:聊城智能電銷機(jī)器人外呼 企業(yè)怎么在聯(lián)通申請400電話 南京新思維電話機(jī)器人 地圖標(biāo)注市場怎么樣 南昌市地圖標(biāo)注app 好操作的電話機(jī)器人廠家 如何用中國地圖標(biāo)注數(shù)字點(diǎn) 泰州泰興400電話 怎么申請 百度地圖添加標(biāo)注圖標(biāo)樣式

JSP 自定義注解及記錄操作日志

Spring的配置文件

aop:aspectj-autoproxy />

日志攔截器

package com.vem.interceptor;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around; 
import org.aspectj.lang.annotation.Aspect; 
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.stereotype.Component;

import com.vem.entity.BussAnnotation; 

@Aspect 
@Component 
public class LogInterceptor { 
 
 
  @Pointcut("execution(* com.vem.service..*.*(..))") 
  public void aApplogic() { 
   
  } 
   
  /** 
   * 環(huán)繞通知 用于攔截指定內(nèi)容,記錄用戶的操作 
   */ 
  @Around(value = "aApplogic()  @annotation(annotation) args(object,..) ", argNames = "annotation,object") 
  public void interceptorApplogic(ProceedingJoinPoint joinPoint, 
      BussAnnotation annotation, Object object) throws Throwable { 
    System.out.println("模塊名稱moduleName:" + annotation.moduleName()); 
    System.out.println("操作名稱option:" + annotation.option()); 
    String methodName = joinPoint.getSignature().getName();
 System.out.println("方法名methodName:" + methodName); 
    
    MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature(); 
    String[] strings = methodSignature.getParameterNames(); 
    
    joinPoint.proceed(); 
    
    Object[] arguments = joinPoint.getArgs();  //獲得參數(shù)列表
    if(arguments.length=0){ 
      System.out.println(methodName+"方法沒有參數(shù)"); 
    }else{ 
     for(int i=0;iarguments.length;i++){ 
     System.out.println(strings[i]+" : "+arguments[i]+" : ");
     } 
    } 
  } 
} 

自定義注解

@Retention(RetentionPolicy.RUNTIME) 
@Target({ElementType.METHOD}) 
@Documented 
public @interface BussAnnotation { 
  //模塊名 
  String moduleName() default ""; 
  //操作內(nèi)容 
  String option() default ""; 
} 

接口實(shí)現(xiàn)

寫在service

@BussAnnotation(moduleName="人員管理",option="添加用戶") 
public void testDemo1(PageData pd) throws Exception{
 
}

junit測試類

package com.vem.entity;

import javax.annotation.Resource;

import org.junit.Test; 
import org.junit.runner.RunWith; 
import org.springframework.test.context.ContextConfiguration; 
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.vem.service.data.DemoService;
import com.vem.util.PageData; 
 
@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(
 {"classpath:spring/ApplicationContext.xml"
 })
public class AopTest { 
 
 @Resource(name = "demoService")
 public DemoService demoService;
  
  @Test 
  public void testAopAddUser1(){ 
   PageData pd = new PageData();
   pd.put("name", "zhangzexing");
   pd.put("age", "21");
   pd.put("passward", "123456");
   try {
  demoService.testDemo2(pd);
 } catch (Exception e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
  } 

} 
 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

您可能感興趣的文章:
  • 詳解springmvc 中controller與jsp傳值
  • springMVC如何將controller中數(shù)據(jù)傳遞到j(luò)sp頁面
  • JSP spring boot / cloud 使用filter防止XSS
  • JSP 獲取spring容器中bean的兩種方法總結(jié)
  • 利用JSP session對象保持住登錄狀態(tài)
  • JSP 開發(fā)之 releaseSession的實(shí)例詳解

標(biāo)簽:自貢 臨汾 吉林 開封 烏蘭察布 銅川 白銀 山南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JSP 自定義注解及記錄操作日志》,本文關(guān)鍵詞  JSP,自定義,注解,及,記錄,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《JSP 自定義注解及記錄操作日志》相關(guān)的同類信息!
  • 本頁收集關(guān)于JSP 自定義注解及記錄操作日志的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 进贤县| 明光市| 偃师市| 白水县| 凌海市| 铜山县| 渝中区| 札达县| 莲花县| 廊坊市| 兴业县| 乐至县| 丹阳市| 体育| 和田市| 鹤壁市| 澄城县| 调兵山市| 安国市| 武夷山市| 古交市| 惠安县| 香格里拉县| 吉安市| 上高县| 安徽省| 宜昌市| 灵武市| 宁南县| 开鲁县| 孟村| 凌海市| 潮安县| 八宿县| 乐亭县| 贵州省| 庆城县| 丹江口市| 延长县| 元朗区| 林西县|