这次项目中应该注意的问题和应该保持的好习惯
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里禁止出现小于号
使用 < 来代替小于号
2、自闭合没有内容的标签
eg<bean class="com.women.util.OneUtil" />
3、Spring的配置文件中,禁止不加考虑直接扫描所有包
一般在dispatcherservlet-servlet.xml只需要扫描controller包,application-context.xml只需要扫描service包
其他
1、项目结束整理util包里的所有工具类,用到多的可以加到simplest中,也许以后项目还能用到,