zoukankan      html  css  js  c++  java
  • java 基础

      以前看java基础,一直不知道自定义异常要用在哪里,当然,不止是自定义异常,还有一些其他的东西就是懂一些理论和写过一些demo,但是不知道用在哪里。

    这两天终于看到公司的代码了,虽然只是其中的一个小的,但是还是学到了一些东西。

      首先,是自定义异常,根据业务,定义不同的异常。然后然后在定义一个全局拦截器,这个拦截器要放在第一个,

      

    try{
                ai.invoke();
            }

      像这样将整个处理过程包起来,然后在业务中如果验证条件没通过,比如参数传的是null,或者是无效的,格式不正确等,在那个地方就可以直接抛出异常,停止业务处理了。

    我之前就是如果条件不正确就是返回一个null或者false,这样写会导致代码中充斥着一堆和业务无关的判断。

      当然,有部分条件判断可以写在一个拦截器里面,不通过的话,还是直接抛出异常,这样就不用进到业务处理里面了。

      学到的另一个知识就是,在一个模块中,一般业务的处理流程是类似的,紧紧是传的参数不一样,这样完全可以写一个接口

      

    1 public interface PreParamService {
    2     
    3     public void preMap(Map<String, Object> map);
    4     
    5 }

      写一个基类,业务处理的核心方法就写在基类中,将这个接口作为方法的参数,子类继承基类,在不同的方法里面接受外面传的参数,将参数写在这个接口中

      

    1 JSONObject cyJson = pointService.doService(new PreParamService() {
    2             public void preMap(Map<String, Object> map) {
    3                 map.put("uid", uid);
    4                 map.put("desc", desc);
    5                 map.put("point", point);
    6                 map.put("tenantId", pointService.getCrmTenantId());
    7             }
    8         }, "creditChange");

      基类的核心方法中定义一个map,然后将这个map当作参数,调用接口的这个方法,就可以得到传过来的参数了,然后再添加所有方法都会用的共有的参数,最后,写个

    方法将map中的方法按照规定的参数格式提取出来,开始业务的执行。

      这是看了公司代码后感觉好的用法,当然,我还有更多的东西要学,加油

  • 相关阅读:
    《Spring2之站立会议1》
    《Spring1之第十次站立会议》
    《Spring1之第九次站立会议》
    《Spring1之第八次站立会议》
    《Spring1之第七次站立会议》
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/luolei/p/4700999.html
Copyright © 2011-2022 走看看