Java常用工具类和注解(其一)

DigestUtils加密的工具类

  • org.springframework.util.DigestUtils
//它加密的长度是固定的32位
eg:public static String getDigestMD5(String sStr){
String hex = DigestUtils.md5DigestAsHex(sStr.getBytes());
return hex;
}

@Transactional 是声明式事务管理 编程中使用的注解

  • @Transactional 属性配置
属性类型描述
valueString可选的限定描述符,指定使用的事务管理器
propagationenum: Propagation可选的事务传播行为设置
isolationenum: Isolation可选的事务隔离级别设置
readOnlyboolean读写或只读事务,默认读写
timeoutint (in seconds granularity)事务超时时间设置
rollbackForClass对象数组,必须继承自Throwable导致事务回滚的异常类数组
rollbackForClassName类名数组,必须继承自Throwable导致事务回滚的异常类名字数组
noRollbackForClass对象数组,必须继承自Throwable不会导致事务回滚的异常类数组
noRollbackForClassName类名数组,必须继承自Throwable不会导致事务回滚的异常类名字数组

在类上面声明注解(只读)

@Service
@Transactional(readOnly = true)
public class AdminServiceImpl extends BaseServiceImpl<TbSysUser, TbSysUserMapper> implements AdminService {

}

在方法中取消只读注解

@Transactional(readOnly = false)
public void register(TbUser tbuser){

}

Lombok-简化臃肿代码

在pom文件中添加

            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.16.18</version>
            </dependency>
  • 使用@Data注解简化POJO
    @Data包含了@ToString@EqualsAndHashCode@Getter/@Setter@RequiredArgsConstructor的功能
    使用案例
    @Data
    @AllArgsConstructor//该注解使得该类的构造方法自动扩充
    public static class Error {
        private String field;
        private String message;
    }

StringUtils工具类的常用方法

前言:工作中看到项目组里的大牛写代码大量的用到了StringUtils工具类来做字符串的操作,便学习整理了一下,方便查阅。

  • isEmpty(String str) 是否为空,空格字符为false
  • isNotEmpty(String str) 是否为非空,空格字符为true
  • isBlank(String str) 是否为空,空格字符为true
  • equals(String str1,String str2) 比较两个字符串是否相等,如果两个均为空则认为相等
  • indexOf(String str,char searchChar) 返回searchChar 在字符串中第一次出现的位置,如果没找到则返回 -1,如果str 为null 或者 “”,也返回-1
  • indexOf(String str,char searchChar,int startPos) 返回字符searchChar从startPos开始在字符串str中第一次出现的位置。
  • contains(String str,char searchChar) str中是否包含字符searchChar,str为null 或者 searchChar为null,返回false 。
    • StringUtils.contains("", “”) = true
    • StringUtils.contains(“dfg”, “”) = true
  • containsIgnoreCase(String str,String searchStr) str中是否包含字符searchChar,不区分大小写
  • int indexOfAny(String str, char[] searchChars) 找出字符数组searchChars中的字符第一次出现在字符串str中的位置。 如果字符数组中的字符都不在字符串中,则返回-1 ,如果字符串为null或"",则返回-1
  • subString(String str,int start) 从start 开始,包含start 那个字符,得到字符串str 的子串,如果start为负数,则从后面开始数起。如果str 为null 或者 “” 则返回其本身
  • subStringBefore(String str,String separator) 得到字符串separator第一次出现前的子串。不包含那个字符,如果str 为null 或者 “” 则返回其本身。
  • subStringAfter(String str,String separator) 得到字符串separator第一次出现后的子串,不包含那个字符,如果 str 为null,或者"",则返回其本身
  • subString(String str,int start,int end) 同上
  • left(String str,int len) 得到字符串str从左边数len长度的子串,如果str 为null 或者 “”,则返回其本身,如果len小于0,则返回""
  • right(String str,int len)得到字符串str从右边数len长度的子串
  • mid(String str,int pos,int len) 得到字符串str从pos开始len长度的子串,pos小于0,则设为0。
  • split(String str) 把字符串拆分成一个字符串数组,用空白符 作为分隔符,字符串为null 返回null,字符串为"",返回空数组{}
  • split(String str,char c) 按照 char c 拆分字符串
  • join(Object[] arrey)把数组中的元素连接成一个字符串返回
  • join(Object[] arrey,char c) 把数组中的元素拼接成一个字符串返回,把分隔符 c 也带上
  • deleteWhitespace(String str) 删除字符串中的所有空白符,包括转义字符

更多可参考StringUtils工具类常用方法

谷歌的工具包guava

Guava是一种基于开源的Java库,谷歌很多项目使用它的很多核心库。这个库是为了方便编码,并减少编码错误。
首先先在pom.xml中添加依赖

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>25.1-jre</version>
            </dependency>

应用如:

List<BaseResult.Error> errors=Lists.newArrayList();

更多可参考Guava教程

随机获取不重复的字符串

在包import java.util.UUID;
使用为:

String token = UUID.randomUUID().toString();

将Json转化为对象

在包import com.funtl.itoken.common.utils.MapperUtils;
使用为:

TbSysUser tbSysUser = MapperUtils.json2pojo(json, TbSysUser.class);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值