目录:
- 生成随机字符串
- MD5加密
- 获取JSON字符串
- 引入Lang包
- 配置信息
- 获取指定cookie的值
【生成随机字符串】
UUID为java.util中自带的生成随机字符串的工具
UUID生成的随机字符串中带有"-",我们可以使用replaceAll把随机生成字符串中的"-"全部去掉
public static String generateUUID(){
return UUID.randomUUID().toString().replaceAll("-","");
}
【MD5加密】
MD5对于一些简单的字符串有一个较为固定的加密格式,容易被破解,所以需要加上随机字符串(salt)来增加安全性
StringUtils为外部导入的org.apache.commons.lang3包下的工具,可以用来判断空值
DigestUtils为org.springframework.util中的工具
@param key 要加密的字符串
public static String md5(String key){
if(StringUtils.isBlank(key)){
return null;
}
return DigestUtils.md5DigestAsHex(key.getBytes());
}
【获取JSON字符串】
@param code 状态码(0代表成功,1代表失败)
@param msg 状态信息
@Param map 数据信息
public static String getJSONString(int code, String msg, Map<String,Object> map){
JSONObject json = new JSONObject();
json.put("code",code);
json.put("msg",msg);
if(map != null){
for (String key : map.keySet()) {
json.put(key,map.get(key));
}
}
return json.toJSONString();
}
重载此方法:
public static String getJSONString(int code,String msg){
return getJSONString(code,msg,null);
}
public static String getJSONString(int code){
return getJSONString(code,null,null);
}
【引入Apache Commons Lang包】
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
commons lang包是日常开发中,可以参考和借助的工具包,其包含null safe安全操作
比较常用的工具类有:
ArrayUtils:数组工具类,提供数组拷贝、查找、反转等功能
StringUtils:提供字符串操作,对null是安全的,字符串查找、替换、分割、去空格等操作
ObjectUtils:对null进行安全处理
RandomUtils:随机数工具类,获得随机整数、小数、字符串等
NumberUtils:数值工具类,数值类型转换等操作
DateUtils:日期工具类
EnumUtils:枚举工具类
ReflectionToStringBuilder/ToStringBuilder:重写toString方法
EqualsBuilder/HashCodeBuilder:提供了方便的方法来覆盖equals() 和hashCode()方法
【配置信息】
# ServerProperties
server.port=8080
server.servlet.context-path=/community
# ThymeleafProperties
spring.thymeleaf.cache=false
# DataSourceProperties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/community?characterEncoding=utf-8&useSSL=false&serverTimezone=Hongkong
spring.datasource.username=root
spring.datasource.password=zzuli100011..
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.maximum-pool-size=15
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.idle-timeout=30000
# MybatisProperties
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.nowcoder.community.community.entity
mybatis.configuration.useGeneratedKeys=true
mybatis.configuration.mapUnderscoreToCamelCase=true
# community 域名
community.path.domain=http://localhost:8080
community.path.upload=d:/Documents/upload
【获取指定cookie的值】
设置一个获取cookie中指定name的value值的工具类
public class CookieUtils {
public static String getValue(HttpServletRequest request,String name){
if(request == null || name == null){
throw new IllegalArgumentException("参数为空!");
}
Cookie[] cookies = request.getCookies();
if(cookies != null){
for (Cookie cookie : cookies) {
if(cookie.getName().equals(name)){
return cookie.getValue();
}
}
}
return null;
}
}