1、使用第三方PageHelper分页对象
Page<MallCashcouponUser> page = PageHelper.startPage(mallCashcouponUser.getPageIndex(), mallCashcouponUser.getPageSize())
.doSelectPage(() -> mallCashcouponUserMapper.getNotUseCashcoupon(userId));
List<MallCashcouponUser> mallCashcouponUserList = page.getResult();

PageView pageView = PageView.getPageView(mallCashcouponUser.getPageIndex(), mallCashcouponUser.getPageSize());
pageView.setRowCount(page.getTotal());

return responseWithJson(request, true, mallCashcouponUserList,pageView);

2、计算Double型保留2位并转化成String:
goodsSku.setSkuOriginalPrice(Double.parseDouble(String.format("%.2f",Double.valueOf(price)*1.12));// 易购价
Double型向上保留1位:
new BigDecimal(Double.parseDouble(String.format("%.2f",Double.valueOf(price)*Constants.MALL_SNPRICE_ORIGINAL_PERCENT_UNFIXED))).setScale(1, BigDecimal.ROUND_UP).doubleValue();
Double型比较大小:
Double.doubleToLongBits(record.getPayFee())!=Double.doubleToLongBits(payFee)
Integer型比较大小
要么调用Integer.intValue()转为基本类型用“==”比较,要么直接用equals比较。

3、RequestMapping中属性作用
生产:produces="application/json;charset=UTF-8";
消费:consumes="application/x-www-form-urlencoded;charset=UTF-8";

4、验证手机号正则
private static boolean isMobileNO(String mobiles){
Pattern p = Pattern.compile("^(1[0-9])\\d{9}$");
Matcher m = p.matcher(mobiles);
return m.find();
}
5、json格式互转
对象转json:
String questionOptions = JsonUtils.objectToJson(optionslist);
json转对象:
QOptionsV qOptionsVBean = (QOptionsV)JSONObject.toBean(JSONObject.fromObject(answers.getQuestionOptions()),QOptionsV.class);
集合转json:
JSONArray jsonArray = JSONArray.fromObject(list);
json转集合:
List<Employee> list = (List<Employee>) jsonArray.toCollection(jsonArray, Employee.class);

6、请求转json
//request.getInputStream()转json
String jsonParam= null;
try {
BufferedReader streamReader = new BufferedReader( new InputStreamReader(super.getInputStream(), "UTF-8"));
StringBuilder responseStrBuilder = new StringBuilder();
String inputStr;
while ((inputStr = streamReader.readLine()) != null){

responseStrBuilder.append(inputStr);

JSONObject jsonObject = JSONObject.parseObject(responseStrBuilder.toString());
jsonParam= jsonObject.toJSONString();

System.out.println(jsonParam);
}
} catch (Exception e) {
e.printStackTrace();
}

7、Beanutils拷贝对象
BeanUtils.copyProperties(userForm, user); //拷贝要修改的值

8、验证数据的正确性
java的校验框架执行,比如JSR303;
除了JSR303验证方法,我们还可以使用spring validator,来自定义自己的校验规则。

9、Spring断言Assert类校验入参
Assert.notNull(record.getOriginalMemberId(), "被回复人ID不能为空");
Assert.hasText(record.getReplyEvaluation(), "回复内容不能为空");
Assert.isTrue(evaluation.getAuditStatus()==1, "原评论未审核通过");

10、java8之Optional空值处理
User user = new User("john@gmail.com", "1234");
List<String> emails = Optional.ofNullable(user)
.stream()
.filter(u -> u.getEmail() != null && u.getEmail().contains("@"))
.map( u -> u.getEmail())
.collect(Collectors.toList());

11、一些名词
spring 可以看成一个大的集合,他由许多开源框架和组件组成,是一个统称;
springframework 是sping 里面的一个开源框架,主要用户javaee的企业开发;
springmvc是springframework里面的一个组件,用于javaee开发过程中的控制层,相当于struts的功能;

什么是热部署:服务器正在运行,无须重启服务器,就可以加载更改的代码;
热部署:就是容器状态在运行的情况下重新部署整个项目.
在这种情况下一般整个内存会清空,重新加载.这种方式可能会造成session丢失等情况.
简单来说就是Tomcat或者其他的web服务器会帮我们重新加载项目.
热加载:就是容器状态在运行的情况下重新加载改变编译后的类.
在这种情况下内存不会清空,session不会丢失,但容易造成内存溢出,或者找不到方法。
因为内存无法转变成对像.一般改变类的结构和模型就会有异常,在已经有的变量和方法中改变是不会出问题的.

12、Eclipse快速查询该类被哪些类引用了
在类名上点击右键,选Reference->Workingspace或者直接快捷键Ctrl+Shift+G

13、list迭代器
for(Iterator<String> it=list.iterator();it.hasNext();){
System.out.println(it.next());
}

14、读取文件目录
new File(Text.class.getResource("/template").getFile())

15.调试函数
if (!WebTool.isDebugger()) {
int userId= 4;
}

java 常用的更多相关文章

  1. Google的Java常用类库 Guava资料

    java的人应该都知道Apache commons的java常用类库吧,这个Guava和commons一样,封装出一套比jdk本身提供的常用类库强大.既然有了这个这么强大的类库,我们就没必要重复造轮子 ...

  2. java常用英文解释

    java常用名词解释: OO: object-oriented ,面向对象 OOP:object-oriented programming,面向对象编程 Author:JCC Object:对象JDK ...

  3. Atitit 图像处理 常用8大滤镜效果 Jhlabs 图像处理类库 java常用图像处理类库

    Atitit 图像处理 常用8大滤镜效果 Jhlabs 图像处理类库 java常用图像处理类库1.1. 5种常用的Photoshop滤镜,分别针对照片的曝光.风格色调.黑白照片处理.锐利度.降噪这五大 ...

  4. Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法

    Java 常用排序算法/程序员必须掌握的 8大排序算法 本文由网络资料整理转载而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排 ...

  5. JAVA常用的XML解析方法

    转并总结自(java xml) JAVA常用的解析xml的方法有四种,分别是DOM,JAX,JDOM,DOM4j xml文件 <?xml version="1.0" enco ...

  6. java基础3.0:Java常用API

    本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...

  7. Java常用jar包用途

    Java常用jar包用途: USAGE INDEX JAR NAME USAGE 1 ASM asm-2.2.3.jar ASM字节码库 2 ASM asm-commons-2.2.3.jar ASM ...

  8. Java 常用排序算法/程序员必须掌握的 8大排序算法

    Java 常用排序算法/程序员必须掌握的 8大排序算法 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配 ...

  9. JAVA常用数据结构及原理分析

    JAVA常用数据结构及原理分析 http://www.2cto.com/kf/201506/412305.html 前不久面试官让我说一下怎么理解java数据结构框架,之前也看过部分源码,balaba ...

  10. Java基础 —— Java常用类

    Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@&quo ...

随机推荐

  1. linux学习笔记-时间配置综述

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.时间类型分为: 1.网络时间(设置时区,ntp服务器同步的时间) 2.系统时间,当前系统所显示的时间 3.硬件(RTC)时间 ...

  2. 前端常见算法的JS实现

    1.冒泡排序 function bubbleSort(arr){ var i = 0, j = 0; for(i=1; i<arr.length; i++){ for(j=0; j<=ar ...

  3. 生理周期POJ 1006

    Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 138101   Accepted: 44225 Description 人生 ...

  4. Android为TV端助力 EventBus.getDefault()开源框架

    在onCreate里面执行 EventBus.getDefault().register(this);意思是让EventBus扫描当前类,把所有onEvent开头的方法记录下来,如何记录呢?使用Map ...

  5. shell中的set、seq、eval、exec、&&和||

    一.set 查看set 帮助: bash -c "help set" 选项: -e:任何命令执行失败(非0 status)直接退出 -x: 打印执行过程的命令行.参数 +e:命令执 ...

  6. Springboot helloworld入门最经典例子

    一.建立maven java项目 导入springboot包 二.配置pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0 ...

  7. linux后台执行程序

    当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件.对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨).为 ...

  8. Linux学习历程——Centos 7 man命令

    一.man命令介绍 man,为单词manual的缩写,是linux下的帮助指令. 二.实例 以man命令为例,输入 man  man  获取man命令的帮助文档 可以看出,使用man命令查询到的帮助信 ...

  9. kali系统固化到固态硬盘小记(赠送给广大折腾党的笔记)

    1.首先你需要一个移动硬盘和一个移动硬盘盒子(一根数据转换线,一般买盒子商家会赠送的) SSD硬盘要事先格式化一下格式,不然识别不出来 2.准备好Kali镜像,传送门在这里https://www.ka ...

  10. Win 10 和 Linux 双系统,从硬盘删除Linux分区,Win 10引导修复

    由于安装双系统后,Linux 用的比较少.因此,从Win 10 磁盘管理中删除了linux 占用的磁盘空间,重启后无法进入win 10 ,出现如下情况: 有人提出,此时需要重装系统,并不用如此麻烦,通 ...