乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      采用spring AOP 和注解解決日志

       昵稱13366901 2013-08-01

      首先創(chuàng)建一個自定義注解

      Java代碼  收藏代碼
      1. @Target({ElementType.METHOD})  
      2. @Retention(RetentionPolicy.RUNTIME)  
      3. public @interface RecordLog {  
      4.       
      5. }  

       然后采用spring Aop

      Java代碼  收藏代碼
      1. @Component("logAround")  
      2. public class LogAroundInterceptor implements MethodInterceptor {  
      3.     @Autowired  
      4.     private SysLogService sysLogService;  
      5.     private final Logger logger = Logger.getLogger(LogAroundInterceptor.class);  
      6.   
      7.     public Object invoke(MethodInvocation invocation) throws Throwable {  
      8.         // TODO Auto-generated method stub  
      9.         Object returnObject = invocation.proceed();  
      10.         Method method = invocation.getMethod();  
      11.         if (method.isAnnotationPresent(RecordLog.class)) {  
      12.             Object[] arguments = invocation.getArguments();  
      13.             Object saveObject = null;  
      14.             SysLog sysLog = new SysLog();  
      15.             if (null != arguments) {  
      16.                 saveObject = arguments[0];  
      17.                 sysLog = getSysLog(getOperaType(method.getName()), saveObject);  
      18.                 sysLogService.saveSysLog(sysLog);  
      19.             }  
      20.         }  
      21.         return returnObject;  
      22.     }  
      23.   
      24.     public int getOperaType(String methodName) {  
      25.         int type = 0;  
      26.         if (methodName.startsWith("save") || methodName.startsWith("add")  
      27.                 || methodName.startsWith("insert")  
      28.                 || methodName.startsWith("update")) {  
      29.             type = 1;  
      30.         } else if (methodName.startsWith("delete")  
      31.                 || methodName.startsWith("del")) {  
      32.             type = 2;  
      33.         }  
      34.         return type;  
      35.     }  
      36.   
      37.     public SysLog getSysLog(int type, Object object) {  
      38.         SysLog sysLog = new SysLog();  
      39.         sysLog.setCreateTime(new Date());  
      40.         StringBuffer sysContent = new StringBuffer();  
      41.         if (type != 1 && type != 2) {  
      42.             logger.warn("此方法不能被記錄日志");  
      43.             return null;  
      44.         }  
      45.         if (object instanceof User) {  
      46.             User user = (User) object;  
      47.             sysContent.append("用戶:");  
      48.             if (type == 1) {  
      49.                 sysContent.append(user.getUsername()).append("被保存.");  
      50.             } else if (type == 2) {  
      51.                 sysContent.append(user.getDeleteUser()).append(  
      52.                         "刪除了用戶:"   user.getUniqueUserName());  
      53.             }  
      54.         } else if (object instanceof Tribe) {  
      55.             Tribe tribe = (Tribe) object;  
      56.             if (type == 1) {  
      57.                 sysContent.append("用戶:").append(  
      58.                         tribe.getUser().getUniqueUserName()).append("保存了部落:")  
      59.                         .append(tribe.getName());  
      60.             } else if (type == 2) {  
      61.                 sysContent.append("用戶:").append(tribe.getDeleteUser()).append(  
      62.                         "刪除了部落:").append(tribe.getUniqueTribeName());  
      63.             }  
      64.         } else if (object instanceof Assessment) {  
      65.             Assessment assessment = (Assessment) object;  
      66.             int assType = assessment.getType();  
      67.             User user = assessment.getUserByUserId();  
      68.             sysContent.append("用戶:").append(user.getUniqueUserName()).append(  
      69.                     "舉報了");  
      70.             if (assType == 1) {  
      71.                 sysContent.append("資源").append(  
      72.                         assessment.getResource().getTitle());  
      73.             } else if (assType == 2) {  
      74.                 sysContent.append("部落").append(  
      75.                         assessment.getTribeByAccTribeId().getUniqueTribeName());  
      76.             } else if (assType == 3) {  
      77.                 sysContent.append("人").append(  
      78.                         assessment.getUserByUserId().getUniqueUserName());  
      79.             }  
      80.         } else if (object instanceof Role) {  
      81.             Role role = (Role) object;  
      82.             sysContent.append("用戶:").append(role.getOperaUser());  
      83.             if (type == 1) {  
      84.                 sysContent.append("保存了").append(role.getRoleName());  
      85.             } else if (type == 2) {  
      86.                 sysContent.append("刪除了").append(role.getRoleName());  
      87.             }  
      88.         } else if (object instanceof Resource) {  
      89.             Resource res = (Resource) object;  
      90.             boolean isPass = res.getAppStatus() == 1;  
      91.             sysContent.append("一級審核人員:").append(res.getAppUser().getUniqueUserName());  
      92.             sysContent.append("審核").append(res.getUniqueResName());  
      93.             if (!isPass) {  
      94.                 sysContent.append("未通過");  
      95.             } else if (isPass) {  
      96.                 sysContent.append("通過");  
      97.             }  
      98.         }  
      99.         logger.info(sysContent.toString());  
      100.         sysLog.setContent(sysContent.toString());  
      101.         return sysLog;  
      102.     }  
      103. }  

       在需要插入注解的方法上面寫上@RecordLog就可以啦

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多