zoukankan      html  css  js  c++  java
  • 这次项目中应该注意的问题和应该保持的好习惯

    Java

    1、Mapper接口中,方法声明没有必要注明抛出异常类型。

    eg public void changePassword(Map<String, Object> map) throws Exception;

    2、持久层任何的业务对象,禁止使用基本数据类型的域。

    为了避免出现NPE异常

    3、跨层交互尽量避免使用java.util.Map作为参数或返回值的类型。

    Map的key如果两边不一致写错,在编译期是无法发现的,直到运行期才出现NPE异常

    4、禁止跨层。

    5、Mapper接口尽量避免使用java.util.Map作为参数。

    原因与3相似,多参数+@Param注解的形式比较合适,

    eg public User getUserBy(@Param("name") String userName, @Param("age") Integer userAge);

    6、String转int或Integer使用commons-lang3的NumberUtils

    eg int i = NumberUtils.createInteger("112233");

    7、字符串判空使用commons-lang3的StringUtils

    isNotNull,isNotEmpty,isNotBlank方法根据需求选择,全部不会NPE

    绝大多数情况用第三个

    8、字符串是否相同使用commons-lang3的StringUtils

    StringUtils.equals()不会NPE

    eg StringUtils.equals("aaa", "aaa");

    前后端交互

    1、请求方法的@RequestMapping注解必须指定method属性

    eg @RequestMapping(value = "create", method = RequestMethod.POST)

    2、非幂等请求禁止使用GET方式

    幂等GET,非幂等POST

    3、URL设计时,使用全小写更舒服一点

    eg user/organization

    eg user/create-one

    4、@RequestMapping注解的value属性,单词与类名或方法名的字母一致。

    eg 如果有个叫做“/wechat/entrance”出错了,最理想的方式是通过ctrl+shift+r快捷键搜索“wechatcon”,直接定位到WechatController类。如果不一致的话,虽然肯定也能找到,就没有那么快方便了

    5、@RequestMapping的value,不需要以“/”开头

    看着不习惯

    eg @RequestMapping("pay")

    XML

    1、xml里禁止出现小于号

    使用 &lt; 来代替小于号

    2、自闭合没有内容的标签

    eg<bean class="com.women.util.OneUtil" />

    3、Spring的配置文件中,禁止不加考虑直接扫描所有包

    一般在dispatcherservlet-servlet.xml只需要扫描controller包,application-context.xml只需要扫描service包

     

    其他

    1、项目结束整理util包里的所有工具类,用到多的可以加到simplest中,也许以后项目还能用到,

  • 相关阅读:
    (转)Java new一个对象的过程中发生了什么
    多线程面试题集锦
    java调用ffmpeg获取视频文件信息的一些参数
    单点登录系统SSO实现
    Docker 项目上线
    Docker
    Docker
    Docker
    Docker
    Docker
  • 原文地址:https://www.cnblogs.com/deolin/p/7693896.html
Copyright © 2011-2022 走看看