자바 상용 도구 라 이브 러 리-Hutool 사용 안내

머리말
Hutool 은 작고 완전한 자바 도구 라 이브 러 리 로 정적 인 방법 으로 패키지 하여 관련 API 의 학습 원 가 를 낮 추고 작업 효율 을 향상 시 키 며 자바 가 함수 식 언어 와 같은 우아 함 을 가지 게 하여 자바 언어 도'달콤 하 다'고 할 수 있 도록 한다.
Hutool 의 도구 방법 은 모든 사용자 의 정교 한 조각 에서 나 온 것 으로 자바 개발 바 텀 코드 의 여러 가지 측면 을 포함한다.이것 은 대형 프로젝트 개발 에서 작은 문 제 를 해결 하 는 이기 이자 소형 프로젝트 의 효율 적 인 담당 이다.
Hutool 은 프로젝트 의'util'가방 을 우호 적 으로 대체 하 는 것 으로 개발 자 들 이 프로젝트 의 공공 류 와 공공 도구 방법 에 대한 패 키 징 시간 을 절약 하여 개발 을 업무 에 전념 하 게 하 는 동시에 패 키 징 이 완선 되 지 않 아 발생 하 는 bug 를 최대한 피 할 수 있다.
위 는 Hutool 의 공식 소개 입 니 다.공식 문 서 는 이미 상세 하 게 소개 되 었 습 니 다.그래서 저 는 자주 사용 하 는 API 작업 만 간단하게 소개 하고 더 많은 기능 은 문 서 를 자세히 읽 을 수 있 습 니 다.
공식 문서 주소:https://www.hutool.cn/docs/#/
HuTool 에서 자주 사용 되 는 도구 류
우 리 는 이 도구 류 를 도입 하 는 것 은 매우 간단 하 다.Mavan 프로젝트 에 dependency 를 직접 도입 하면 된다.초보 자 라면 jar 가방 을 다운로드 해도 사용 할 수 있다.

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.3.5</version>
</dependency>
Hutool 을 통 해 코드 검색 비용 을 줄 이 고 네트워크 에 들쭉날쭉 한 코드 가 발생 하여 bug 가 발생 하지 않도록 할 수 있 습 니 다.
날짜 관련 API
자바 에 서 는 날짜 에 관 한 API 사용 이 번 거 로 웠 다 는 것 을 잘 알 고 있 습 니 다.Date 부터 Calendar 까지 개발 자 에 게 그다지 우호 적 이지 않 고 BUG 도 쉽게 나 올 수 있 습 니 다.그러면 Hutool 은 먼저 날짜 에 착수 하여 JDK 의 Date 와 Calendar 대상 에 대한 패 키 징 을 제공 합 니 다.
예 를 들 어 현재 Date 날 짜 를 포맷 하려 면 보통 Simple DateFormat(yyy-MM-dd HH:mm:ss)방식 을 사용 하지만 Simple DateFormat 이라는 종 류 는 스 레 드 가 안전 하지 않 고 Hutool 은 FastDateFormat 류 를 제공 하여 스 레 드 가 안전하게 Date 대상 에 대한 포맷 과 날짜 문자열 분석 지원 을 제공 합 니 다.이 대상 은 실제 사용 중 감지 할 필요 가 없 으 며,관련 작업 은 DateUtil 과 DateTime 의 관련 방법 에 봉인 되 어 있 습 니 다.
그리고 다른 날짜 API 는 다음 과 같 습 니 다.
  • DateUtil 은 날짜 시간 조작 에 대해 일련의 정적 방법 을 제공한다
  • DateTim 은 Joda-Time 의 날짜 와 시간 대상 과 유사 한 패 키 지 를 제공 하고 Date 류 를 계승 하 며 더욱 풍부 한 대상 방법 을 제공한다.
  • DateBetween 이 두 시간 간격 을 계산 하 는 클래스 는 새로운 대상 을 구성 해서 사용 하 는 것 을 제외 하고 관련 조작 도 DateUtil 과 DateTime 의 관련 방법 에 봉인 되 어 있다.
  • TimeInterval 은 간단 한 타이머 클래스 로 특정한 코드 의 실행 시간 을 계산 하 는 데 자주 사용 되 며 밀리초,초,분,시,일,주 등 각종 단위 의 시간 계산 을 제공 합 니 다.대상 의 정적 구 조 는 Dateutil 에 봉인 되 어 있 습 니 다.
  • DatePattern 은 String 형식 과 FastDateFormat 두 가지 유형 을 포함 하여 자주 사용 하 는 날짜 포맷 모드 를 제공 합 니 다.
  • 무 작위 도구
    랜 덤 도 구 는 우리 가 개발 하 는 데 많이 사용 되 는 라 이브 러 리 일 것 이 고 Hutool 도 자주 사용 하 는 API 를 패키지 했다.
  • RandomUtil.randomInt 지정 범위 내의 난수 획득
  • RandomUtil.randomBytes 랜 덤 바이트
  • RandomUtil.randomEl 은 목록 의 요 소 를 무 작위 로 획득 합 니 다
  • RandomUtil.randomEleSet 은 목록 의 일 정량의 중복 되 지 않 는 요 소 를 무 작위 로 획득 하여 Set
  • 로 되 돌려 줍 니 다.
  • RandomUtil.randomString 은 무 작위 문자열(숫자 와 문자 만 포함)
  • 을 얻 었 습 니 다.
  • RandomUtil.randomNumbers 는 숫자 만 포함 하 는 문자열 을 얻 었 습 니 다
  • RandomUtil.randomUUID 랜 덤 UUID
  • RandomUtil.weightRandom 가중치 랜 덤 생 성기,가중치 대상 에 전송 한 후 가중치 에 따라 랜 덤 으로 대상 을 획득 합 니 다.
  • 그림 도구
    awt 에서 그림 처 리 를 위 한 패키지 입 니 다.이 패키지 들 은 크기 조정,재단,흑백 으로 전환,워 터 마크 추가 등 을 포함 합 니 다.
    컬러 를 흑백 으로 바꾸다
    
    //    
    ImgUtil.gray(FileUtil.file("d:/logo.png"), FileUtil.file("d:/result.png"));
    
    텍스트 워 터 마크 추가
    
    ImgUtil.pressText(//
        FileUtil.file("e:/pic/face.jpg"), //
        FileUtil.file("e:/pic/test2_result.png"), //
        "    ", Color.WHITE, //  
        new Font("  ", Font.BOLD, 100), //  
        0, //x     。      ,          
        0, //y     。      ,          
        0.8f//   :alpha       [0.0, 1.0]   (     )       
    );
    
    암호 화 복호화 도구
    암호 화 는 일반적으로 세 가지 로 나 뉜 다.
  • 대칭 암호 화(symmetric),예 를 들 어 AES,DES 등
  • 비대 칭 암호 화(asymmetric),예 를 들 어 RSA,DSA 등
  • 요약 암호 화(digest),예 를 들 어 MD5,SHA-1,SHA-256,HMAC 등
  • Hutool 은 상기 암호 화 에 대응 하 는 패 키 징 방법 을 제공 합 니 다.
    부 릉 필터
    부 릉 필 터 는 하나의 요소 가 집합 에 있 는 지 검색 하 는 데 사용 할 수 있다.그것 의 장점 은 공간 효율 과 조회 시간 이 일반적인 알고리즘 을 훨씬 초과 한 다 는 것 이다.단점 은 일정한 오 식 률 과 삭제 어려움 이 있다 는 것 이다.일반적으로 NoSQL 의 캐 시 관통 문 제 를 해결 하 는 데 사 용 됩 니 다.
    
    //    
    BitMapBloomFilter filter = new BitMapBloomFilter(10);
    filter.add("123");
    filter.add("abc");
    filter.add("ddd");
    
    //   
    filter.contains("abc")
    
    메 일 도구
    자바 에서 메 일 을 보 내 는 주요 제품 은 자바 x.mail 패키지 에 의존 합 니 다.원생 API 는 사용 이 비교적 번 거 롭 습 니 다.Hutool 은 메 일 발송 을 지원 하 는 토대 에서 자바 x.mail 패키지 에 의존 합 니 다.
    
    <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.4.7</version>
    </dependency>
    
    메 일 서버 의 전체 설정:
    
    #       SMTP  ,  ,   smtp.<       >
    host = smtp.yeah.net
    #       SMTP  ,  ,  25
    port = 25
    #    (    ,      )
    from = [email protected]
    #    ,          
    user = hutool
    #   (  ,       SMTP         ,        )
    pass = q1w2e3
    
    메 일 발송:
  • 일반 텍스트 메 일 을 보 내 고 마지막 매개 변 수 는 여러 개의 첨부 파일 을 추가 할 지 여 부 를 선택 할 수 있 습 니 다.
  • 
    //    
    MailUtil.send("[email protected]", "  ", "    Hutool  ", false);
    
  • HTML 형식의 메 일 을 보 내 고 첨부 파일 을 첨부 합 니 다.마지막 매개 변 수 는 여러 개의 첨부 파일 을 추가 할 지 여 부 를 선택 할 수 있 습 니 다.
  • 
    // HTML     
    MailUtil.send("[email protected]", "  ", "<h1>    Hutool  </h1>", true, FileUtil.file("d:/aaa.xml"));
    
  • 단체 로 메 일 을 보 내 고 HTML 이나 일반 텍스트 를 선택 할 수 있 으 며 여러 개의 첨부 파일 을 선택 할 수 있 습 니 다.
  • 
    //  
    ArrayList<String> tos = CollUtil.newArrayList(
        "[email protected]", 
        "[email protected]", 
        "[email protected]", 
        "[email protected]");
    
    MailUtil.send(tos, "  ", "    Hutool    ", false);
    
    HTML 도구
    예 를 들 어 부 텍스트 편집기 의 HTML 텍스트 지정 탭 을 지우 거나 일반 텍스트 만 유지 합 니 다.
    HtmlUtil.cleanHtmlTag
    모든 HTM L 탭 을 삭제 하지만 탭 의 내용 은 유지 합 니 다.
    
    String str = "pre<div class=\"test_div\">\r
    \t\tdfdsfdsfdsf\r
    </div><div class=\"test_div\">BBBB</div>"; // :pre\r
    \t\tdfdsfdsfdsf\r
    BBBB String result = HtmlUtil.cleanHtmlTag(str);
    HtmlUtil.removeHtmlTag
    지정 한 HTML 탭 과 탭 에 둘러싸 인 내용 지우 기
    
    String str = "pre<img src=\"xxx/dfdsfds/test.jpg\">";
    
    //    :pre
    String result = HtmlUtil.removeHtmlTag(str, "img");
    
    HTML 텍스트 필터 링,XSS 공격 방지
    이 역할 은 사용자 가 입력 텍스트 에 HTML 탭 을 써 서 배경 에 공격 하 는 것 을 방지 하 는 것 입 니 다.
    
    String html = "<alert></alert>";
    
    //    :""
    String filter = HtmlUtil.filter(html);
    
    JSON 도구
    오픈 소스 가 있 고 유지 되 고 있 는 Fastjson 도구 가 먼저 있 기 때문에 Hutool 의 JSON 도 구 를 자세히 말 하지 않 고 사용 방법 이 대체적으로 유사 합 니 다.
    마지막 에 쓰다
    위 에서 Hutool 의 전형 적 인 상용 도 구 를 간단하게 소 개 했 을 뿐 입 니 다.실제로 Hutool 은 우리 의 일상적인 일반 개발 장면 과 관련 된 대부분의 도구 류 를 커버 했 습 니 다.관심 이 있 는 사람 은 스스로 문 서 를 찾 아 볼 수 있 고 모든 것 을 소 개 했 습 니 다.만약 에 사용 하 는 과정 에서 BUG 를 만나면 작가 에 게 신속하게 피드백 하 는 것 도 환영 합 니 다.🙋 。
    이상 은 자바 상용 도구 라 이브 러 리-Hutool 의 사용 프로필 에 대한 상세 한 내용 입 니 다.자바 도구 라 이브 러 리 Hutool 의 사용 에 관 한 자 료 는 다른 관련 글 에 주목 하 십시오!

    좋은 웹페이지 즐겨찾기