utils
未读
Apache POI 可以对Microsoft Office 进行操作, 下面是工作中使用的对Excel进行读写操作的常用方式.
引入依赖
1234567891011<!-- excel poi --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version></dependency><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version></dependency>
简单使用
主要介绍读写时, 分别常用到的一些对象及其含义, 方便自己编写util.
123 ...
utils
未读介绍
在很多地方都需要用到序列化, 比如在使用redis缓存对象时, 一般情况是实现java Serializable接口. 简单介绍下在慕课网学习到的一个新的序列化工具 ---- protostuff.
在学习中介绍使用该工具可以大大减少对象序列化后字节所占空间, 并提高序列化时间等.
1.慕课网课程地址
2.序列化相关工具比较
引入依赖
1234567891011<!-- protostuff 序列化工具 --><dependency> <groupId>com.dyuproject.protostuff</groupId> <artifactId>protostuff-core</artifactId> <version>1.1.3</version></dependency><dependency> <groupId>com.dyuproject.protostuff</groupId> <arti ...
Spring
未读介绍
1.声明式事务管理建立在AOP之上的. 其本质是对方法前后进行拦截, 然后在目标方法开始之前创建或者加入一个事务, 在执行完目标方法之后根据执行情况提交或者回滚事务.
2.声明式事务最大的优点就是不需要通过编程的方式管理事务, 这样就不需要在业务逻辑代码中掺杂事务管理的代码, 只需在配置文件中做相关的事务规则声明(或通过基于@Transactional注解的方式), 便可以将事务规则应用到业务逻辑中.
3.声明式事务不足的地方在于, 与编程式事务相比, 只能作用到方法级别, 无法像编程式事务那样可以作用到代码块级别.
xml配置
1.添加命名空间
123456789<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" . . . xmlns:aop="http://www.springframework.org ...
部分包装类型存在缓存机制, 会在JVM启动时, 缓存一定数量的对象, 有助于节省内存, 提高性能.
缓存区间
类型
范围
是否修改
Integer
-128 到 127
true : -XX:AutoBoxCacheMax=size 修改
ByteCache
-128 到 127
false
ShortCache
-128 到 127
false
LongCache
-128 到 127
false
CharacterCache
0 到 127
false
举例
123456789101112Integer a = 100;Integer b = 100;Integer c = 1000;Integer d = 1000;Integer e = new Integer(100);Integer f = Integer.valueOf(100);System.out.println(a == b); // trueSystem.out.println(c == d); // falseSystem.out.println(a == e); // ...
Spring
未读介绍
Interceptor: 拦截器,作用类似 Filter, 主要作用是拦截用户请求, 在 Action 执行的前后各执行一段代码, 进行相应的业务处理.
作用
权限认证
统一逻辑处理
日志监控等
使用方式及方法介绍
使用方式分为两种, 一种为: 实现HandlerInterceptor接口或者是继承实现了HandlerInterceptor接口的类, 另一种为: 实现Spring的WebRequestInterceptor接口, 或者是继承实现了WebRequestInterceptor的类.
1.HandlerInterceptor 介绍
1234567891011121314151617181920212223242526272829package org.springframework.web.servlet;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServle ...
在工作中不可避免的要面对很多参数校验, 比如写新接口时需要对传入VO的必要字段进行校验, String 是否为空, Integer 最小值, 对象是否为null, 等等.
而使用 hibernate的validator工具对参数进行校验, 可以极大的简化流程, 当然不可避免的就是需要在被校验字段上加上注解信息.
1. 相关依赖
1234567891011<!-- 参数校验工具 --><dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.4.2.Final</version></dependency><dependency> <groupId>org.glassfish.web</groupId> <artifactId>el-impl</artifa ...
utils
未读在工作中有时候会用到dom4j对xml文件或者字符串进行解析, 以下内容为随手笔记, 防止以后遗忘.
1. 相关依赖
123456<!-- dom4j --><dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version></dependency>
2. 获取dom对象
获取dom对象方式主要以下几种:
1234567891011// 读取 xml 文件 方式SAXReader reader = new SAXReader();Document doc1 = reader.read(new File("src/main/java/com/liuzhihang/tool/xml/alipay.xml"));// 解析 xml 文本 方式String aliPayStr = XmlTest.getAliPayStr();Do ...
utils
未读主要介绍使用jaxb对xml进行解析, 互转.
jaxb 是相对较多的xml工具, 只需要在javaBean的属性上添加相应注解, 就可以使用工具进行解析. 具体使用过程如下:
1. 编写javaBean并添加注解
使用过程中一般常用@XmlRootElement, @XmlAccessorType, @XmlElement, @XmlAttribute四个注解, 其余使用方式可以再自行深入研究.
12345@XmlRootElement: 根元素@XmlAccessorType: java对象生成xml文件时对java对象属性的访问方式 属性为XmlAccessType.FIELD 指java所有成员变量@XmlElement: 子节点, name 可指定节点名@XmlAttribute: 映射为xml文件的属性, name 可指定属性名
javaBean:
1234567891011@Data@XmlRootElement(name = "alipay")@XmlAccessorType(XmlAccessType.FIELD)class AliPayX ...