찾다
Javajava지도 시간Java 개발에 일반적으로 사용되는 jar 패키지 구성 및 사용
Java 개발에 일반적으로 사용되는 jar 패키지 구성 및 사용Nov 29, 2019 pm 01:16 PM
항아리 패키지개발 경험

이 글은 Java 개발에서 자주 사용되는 jar 패키지와 자주 사용되는 API 레코드를 제가 직접 컴파일한 것입니다.

Java 개발에 일반적으로 사용되는 jar 패키지 구성 및 사용

1. Common-lang3

소개: 가장 일반적으로 사용되는 jar 패키지 중 하나이며, 일반적으로 사용되는 많은 도구 패키지를 캡슐화합니다

(추천 동영상: java 동영상 튜토리얼)

종속성:

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.4</version>
</dependency>

주요 공통 클래스는 다음과 같습니다.

Array 도구 클래스 ArrayUtils

Date 도구 클래스 DateUtils

String 도구 클래스 StringUtils

Number 도구 클래스 NumberUtils

Boolean 도구 클래스 BooleanUtils

Reflection 관련 도구 클래스 FieldUtils, 초, MemberUtils , TypeUtils, ConstructorUtils

객체 도구 클래스 ObjectUtils

직렬화 도구 클래스 SerializationUtils

API 소개

여기에서는 일반적으로 사용되는 몇 가지 도구 클래스 및 메소드인 ArrayUtils, StringUtils, NumberUtils, DateUtils 등만 소개합니다. 공식 API 문서를 확인하세요

1.ArrayUtils

ㅋㅋㅋ ]) 래퍼 클래스로 변환 (Int[], Double[])indexOf3개의 숫자를 비교하여 최소값을 반환하거나 지정된 여러 숫자를 비교합니다. 그리고 최소값을 반환합니다세 개의 숫자를 비교하여 최대값을 반환하거나 지정된 여러 숫자를 비교하여 최대값을 반환합니다수신 문자열 createDouble에서 해당 유형의 값을 생성합니다. , createFloat...지정된 문자열을 Int 유형으로 변환하고, 문자열이 null인 경우 기본값을 지정하도록 선택할 수 있습니다. 추가로 toDouble, toLong...이 있습니다. 및 다른 유형으로 변환하는 기타 방법
Method name Description
add
remove
clone 배열 복사

배열에서 순서대로 검색하고, 배열에서 해당 값
lastIndexOf 을 만족하는 첫 번째 첨자를 찾습니다. order Search, 해당 값을 만족하는 마지막 첨자를 찾습니다
contains 배열에 특정 값이 포함되어 있는지
isEmpty 배열이 비어 있는지 판단
isNotEmpty 배열이 비어 있는지 판단 비어 있지 않습니다
reverse Array reversal
subarray 간격은 반 개방 간격이며 끝을 포함하지 않습니다. 2차원 배열을 해당 배열 유형에 맞게 Map으로 변환합니다
toMap
min
max
createInt
toInt

compare

동일한 유형의 두 값의 크기를 비교isParsable을 결정합니다. 문자열을 Long, Int 및 기타 유형으로 변환할 수 있는지 여부 isNumber 문자열이 숫자 값인지 확인합니다(0x, 0X는 동일한 기본 값으로 시작)3.DateUtils메서드 이름DescriptionparseDateDate 객체를 문자열로 변환isSameDay두 날짜를 판단합니다. 객체가 같은 날인지 여부isSameDay 여부를 결정합니다. 두 개의 Dated 객체가 같은 날입니다addHour지정된 Date 객체에 지정된 시간을 추가합니다. 그 외에도 addMonth, addDay.. 등이 있습니다.

DateFormatUtils는 이름에서 알 수 있듯이 시간을 문자열로 변환하는 데 사용됩니다. 여기서는 더 이상 설명하지 않겠습니다

4.StringUtils #🎜 🎜#

isDigits


문자열이 숫자만 포함하는지 확인

메서드 이름설명#🎜 🎜 ## 🎜🎜#join지정된 배열을 문자열로 연결하고 지정된 구분 문자를 추가합니다containOnly#🎜 🎜#문자열에 특정 문자열만 포함되어 있는지지정된 문자열 앞의 내용 차단#🎜 🎜 #substringAfter지정된 문자열 뒤의 콘텐츠 차단(지정된 문자열 제외) substringBetween# 🎜🎜#과 같은 문자열의 특정 범위 내용을 가로채기 # 🎜🎜#isBlank# 🎜🎜#isEmpty#🎜 🎜# 문자열이 비어 있는지 확인합니다(null이 아니거나 전달된 String 객체의 길이가 0이 아닌 한 true입니다) 특정 문자열에 지정된 문자열이 나타나는 횟수 확인deleteWhitespace 공백 삭제defaultIfBlank문자열이 비어 있으면 지정된 기본값(null 또는 문자열)을 반환합니다. # 🎜🎜## 🎜🎜 #capitalize지정된 문자열의 첫 글자를 대문자로 표시합니다. abbreviate은 다음을 지정합니다. 문자열의 마지막 세 자리는 다음으로 변환됩니다...swapCase문자열의 문자 대소문자를 반대로 바꿉니다. 예를 들어 aBc는 다음과 같습니다. AbC의 경우 문자열의 모든 문자를 소문자로 변환lowerCase#🎜 🎜 #upperCaseleftleftPad#🎜 🎜# prependIfMissing지정된 문자열이 특정 문자열로 시작하지 않는 경우 prependIfMissing("hello","li")와 같이 시작 부분이 자동으로 추가됩니다. ="lihello"#🎜 🎜#지정된 문자열이 특정 문자열로 시작하지 않는 경우(대소문자 무시), 시작 #🎜🎜 ## 🎜🎜#removeEnd# 🎜🎜#removeEndIgnoreCase# 🎜🎜# 위와 동일, 대소문자 무시 # 🎜🎜 #위의 반대 #🎜🎜 ## 🎜🎜#removeIgnoreCaseDelete 지정된 내용을 문자열에서 제거("hello","l")=" heo"#🎜🎜 #stripstripStart문자 지우기 문자열 시작 부분에 문자를 지정하세요. stripEnd#🎜 🎜#문자열 끝에 지정된 문자를 지웁니다. #🎜 🎜#

二、common-io

简介:常用的IO流工具包

<!-- https://mvnrepository.com/artifact/commons-io/commons-io --><dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.6</version></dependency>

我们主要关心的就是Utils后缀的那几个类即可,可以看到,common-io库提供了FileUtils,FileSystemUtils,FileNameUtils,FileFilterUtils,IOUtils

FileUtils

● 写出文件

● 读取文件

● 创建一个有父级文件夹的文件夹

● 复制文件和文件夹

● 删除文件和文件夹

● URL转文件

● 通过过滤器和扩展名来筛选文件和文件夹

● 比较文件内容

● 文件最后修改时间

● 文件校验

FileSystemUtils

关于文件系统的相关操作,如查看C盘的大小,剩余大小等操作

IOUtils

字面意思,是封装了IO流的各种操作的工具类

三、Log4j

简介:Log4J 是 Apache 的一个开源项目,通过在项目中使用 Log4J,我们可以控制日志信息输出到控制台、文件、GUI 组件、甚至是数据库中。

我们可以控制每一条日志的输出格式,通过定义日志的输出级别,可以更灵活的控制日志的输出过程,方便项目的调试。

依赖:

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

结构

Log4J 主要由 Loggers (日志记录器)、Appenders(输出端)和 Layout(日志格式化器)组成。

其中Loggers 控制日志的输出级别与日志是否输出;

Appenders 指定日志的输出方式(输出到控制台、文件等);

Layout 控制日志信息的输出格式。

日志级别:

substringBefore
substringBetween("abcde","a","e")="bcd"
difference 두 문자열을 비교하고 두 문자열의 서로 다른 내용을 반환합니다. 자세한 내용은 API 문서에 제공된 예를 참조하세요
문자열이 공백, null, ""," "이 세 가지 결과가 true인지 확인합니다.
# 🎜🎜#countMatches#🎜 🎜#
defaultIfEmpty 문자열이 비어 있으면 지정된 기본값(null 또는 특정 문자열)이 반환됩니다.
문자열의 모든 문자를 대문자로 변환
왼쪽에 있는 숫자 가져오기 left("hello",3)="hel"과 같은 문자열 문자의 오른쪽은 반대입니다.
The 문자열 길이가 충분하지 않은 경우 지정된 문자열을 지정된 문자로 채웁니다(예: leftPad("hel",5,"z")="zzhel", rightPad 메서드는 반대입니다
prependIfMissing
#🎜🎜 #getCommonPrefix 동일한 시작 내용으로 여러 문자열 가져오기 및 여러 문자열에 대한 매개변수 수신
#🎜 🎜#문자열의 끝을 제거합니다(특정 내용으로 끝나는 것으로 만족). 예: RemoveEnd("hello","llo")="he"
removeStart
remove Remove("hello","l")=와 같이 문자열에서 지정된 콘텐츠 삭제 "heo"
문자열의 시작과 끝에서 지정된 문자를 지웁니다(두 번째 매개변수는 null이며 공백을 지우는 데 사용됨). string(" abcxy", "xy")=" abc",strip(" abcxy","yx")=" abc" #과 같이 문자열의 시작과 끝 부분에 위치 🎜🎜#
级别 说明
OFF 最高日志级别,关闭左右日志
FATAL 将会导致应用程序退出的错误
ERROR 发生错误事件,但仍不影响系统的继续运行
WARN 警告,即潜在的错误情形
INFO 一般和在粗粒度级别上,强调应用程序的运行全程
DEBUG 一般用于细粒度级别上,对调试应用程序非常有帮助
ALL 最低等级,打开所有日志记录

我们主要使用这四个:Error>Warn>Info>Debug

使用

我们可以使用两种方式来运行Log4j,一种是java代码方式,另外一种则是配置文件方式

例子(Java方式)

public class Log4JTest {
    public static void main(String[] args) {   
        //获取Logger对象的实例(传入当前类)         
        Logger logger = Logger.getLogger(Log4JTest.class);
        //使用默认的配置信息,不需要写log4j.properties
        BasicConfigurator.configure();
        //设置日志输出级别为WARN,这将覆盖配置文件中设置的级别,只有日志级别低于WARN的日志才输出
        logger.setLevel(Level.WARN);
        logger.debug("这是debug");
        logger.info("这是info");
        logger.warn("这是warn");
        logger.error("这是error");
        logger.fatal("这是fatal");
    }
}

例子(配置文件方式)

上面的例子,我们想要实现打印Log,但是每次都要写一遍,浪费时间和精力,所以,Log4j提供了另外一种方式来配置好我们的信息

创建一个名为log4j.properties的文件,此文件需要放在项目的根目录(约定),如果是maven项目,直接放在resources文件夹中即可

log4j.properties

#控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
#log jdbc
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=WARN
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
#log mybatis设置
#log4j.logger.org.apache.ibatis=DEBUG
log4j.logger.org.apache.ibatis.jdbc=error
log4j.logger.org.apache.ibatis.io=info
log4j.logger.org.apache.ibatis.datasource=info
#springMVC日志
log4j.logger.org.springframework.web=WARN
# 文件输出配置
log4j.appender.A = org.apache.log4j.DailyRollingFileAppender
log4j.appender.A.File = D:/log.txt #指定日志的输出路径
log4j.appender.A.Append = true
log4j.appender.A.Threshold = DEBUG
log4j.appender.A.layout = org.apache.log4j.PatternLayout #使用自定义日志格式化器
log4j.appender.A.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n #指定日志的输出格式
log4j.appender.A.encoding=UTF-8 #指定日志的文件编码
#指定日志的输出级别与输出端
log4j.rootLogger=DEBUG,Console,A
#指定某个包名日志级别(不能超过上面定义的级别,否则日志不会输出)
log4j.logger.com.wan=DEBUG

之后使用的话就比较简单了

//Logger的初始化(这个推荐定义为全局变量,方便使用)
Logger logger = Logger.getLogger(Log4JTest.class);
//输出Log
logger.info("这是info");

四、lombok

简介:平常我们创建实体类的时候,需要get/set方法,极其麻烦,虽然IDEA等IDE都是有提供了快捷生成,不过,最好的解决方法还是省略不写

而lombok就是这样的一个框架,实现省略get/set方法,当然,lombok的功能不只有此,还有equal,toString方法也可以由此框架自动生成

lombok的原理是使用注解,之后就会在编译过程中,给Class文件自动加上get/set等方法

不过IDEA似乎无法识别,代码检查还是会报错,所以,使用IDEA的时候还得安装一个插件,在plugin搜索lombok,之后安装重启即可,如图

Java 개발에 일반적으로 사용되는 jar 패키지 구성 및 사용

之后为Java项目添加依赖

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.8</version>
    <scope>provided</scope>
</dependency>

使用示例

1.实体类省略get/set

估计Kotlin中的data关键字就是参照着lombok实现的

//这里我们只需要为类添加Data注解,就会自动生成对应属性的get/set方法,toString,equal等方法
@Data
public class User {
    private String username;
    private String password;
}

2.需要无参构造以及get/set方法

@Getter
@Setter
@NoArgsConstructor
public class User {
    private String username;
    private String password;
}

3.链式调用set方法

@Data
@Accessors(chain = true)
public class User {
    private String username;
    private String password;
}
//使用
User user = new User();
user.setUsername("helo").setPassword("123");

4.参数不为空

//如果调用此方法,就会抱一个空指针错误
public String print(@NotNull String str){
    ...
}

5.只需要toString

@ToString(callSuper=true, includeFieldNames=true)
public class User {
    private String username;
    private String password;
    //省略的get/set方法
}

6.builder模式创建实体类对象

@Data
@Builder
public class User {
    private String username;
    private String password;
}
//使用
User user1 = User.builder().username("user1").password("123").build();

7.工具类

@UtilityClass
public class MyUtils{
    //会将此方法自动转为静态方法
    public void print(String str){
        ...
    }
}
//使用
MyUtils.print("hello");

8.自动关闭流

public static void main(String[] args) throws Exception {
    //使用Cleanup会自动调用close方法
    @Cleanup InputStream in = new FileInputStream(args[0]);
    @Cleanup OutputStream out = new FileOutputStream(args[1]);
    byte[] b = new byte[1024];
    while (true) {
        int r = in.read(b);
        if (r == -1) break;
        out.write(b, 0, r);
    }
}

9.省略Logger时的初始化

@Log4j
@Log
public class User{
    //会自动添加此语句
    //Logger logger = Logger.getLogger(User.class);
    ...
}

本文来自php中文网,java教程栏目,欢迎学习!  

위 내용은 Java 개발에 일반적으로 사용되는 jar 패키지 구성 및 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 博客园에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
Laravel开发经验分享:提高页面加载速度的技巧Laravel开发经验分享:提高页面加载速度的技巧Nov 22, 2023 pm 04:33 PM

Laravel开发经验分享:提高页面加载速度的技巧随着互联网的发展,用户对网页加载速度的要求越来越高。在Laravel开发过程中,如何提高页面加载速度成为了重要的问题。本文将分享一些提高页面加载速度的技巧,帮助开发者优化网站性能。1.使用缓存技术缓存是提高网页加载速度的一种有效方式。Laravel提供了多种缓存机制,如文件缓存、数据库缓存、Redis缓存等

eclipse如何导入jar包eclipse如何导入jar包Jan 12, 2024 pm 03:45 PM

eclipse导入jar包的方法:1、创建一个新的Java项目;2、创建库文件夹;3、将jar包复制到库文件夹中;4、配置项目构建路径;5、添加jar包到构建路径;6、配置项目构建路径;7、验证导入结果;8、注意事项;9、其他导入方法;10、清理和更新;11、维护和更新库。详细介绍:1、创建一个新的Java项目,启动Eclipse IDE,顶部菜单栏中选择“File”菜单等等。

maven怎么导入jar包maven怎么导入jar包Jan 08, 2024 pm 01:59 PM

maven导入jar包的步骤:1、下载jar包;2、创建Maven项目;3、添加依赖;4、添加dependency元素;5、保存pom.xml文件;6、构建项目;7、验证导入。详细介绍:1、下载jar包,首先从相关网站或源代码仓库下载所需的jar包,确保下载的jar包与你的项目兼容,并符合所需的版本要求;2、创建Maven项目,如果还没有Maven项目,需要先创建一个等等。

Maven进阶教程:深入探索Jar包导入的各种方法Maven进阶教程:深入探索Jar包导入的各种方法Feb 23, 2024 pm 02:57 PM

标题:Maven进阶教程:深入探索Jar包导入的各种方法Maven作为Java项目管理工具,广泛应用于项目的构建、依赖管理等方面。在实际开发过程中,我们经常会用到各种第三方库的Jar包,而如何有效地导入Jar包成为了一个必须掌握的技能。本文将深入探讨Maven中导入Jar包的方法,包括使用本地Jar包、远程仓库Jar包以及自定义Jar包等多种方式,并给出具体

Git多人协作开发实践经验分享Git多人协作开发实践经验分享Nov 03, 2023 am 08:53 AM

Git多人协作开发实践经验分享引言:在软件开发领域,多人协作是一项非常重要的工作流程,特别是对于大型项目来说。有效的多人协作能够提高开发效率,减少冲突和错误。而Git作为目前最流行的版本控制系统,为多人协作提供了强大的支持。本文将分享一些Git多人协作的实践经验,帮助开发团队更好地利用Git进行协作开发。一、分支管理使用Git进行多人协作开发时,分支管理是十

MySQL的Jar包使用指南及注意事项MySQL的Jar包使用指南及注意事项Mar 01, 2024 pm 04:21 PM

MySQL的Jar包使用指南及注意事项MySQL是一种常用的关系型数据库管理系统,许多Java项目都会使用MySQL作为数据存储的后端。在Java项目中,要与MySQL数据库进行交互,就需要使用MySQL提供的Java驱动程序(即Jar包)。本文将介绍MySQL的Jar包的使用指南及注意事项,并提供具体的代码示例,帮助读者更好地使用MySQL驱动程序。一、M

基于C#的旅游预订平台开发项目经验总结基于C#的旅游预订平台开发项目经验总结Nov 03, 2023 pm 12:28 PM

随着互联网的发展,旅游业也迎来了新的变革。传统的旅行社模式已经不能满足现代人们的需求,因此在线旅游预订平台成为了目前旅游市场的主要渠道之一。本文将分享一个基于C#的旅游预订平台开发项目的经验总结。一、项目需求分析在项目启动前,我们需要先进行充分的市场调研。通过分析市场上已有的在线旅游预订平台及其功能、用户需求等方面来确定项目的需求和方向,为接下来的开发和设计

指导如何正确导入Jar包至Maven项目指导如何正确导入Jar包至Maven项目Feb 19, 2024 pm 12:00 PM

Maven入门指南:如何正确导入Jar包?Maven是一个强大的项目管理工具,能够帮助开发人员管理项目依赖、构建项目等。在项目开发中,我们经常需要导入外部的Jar包来实现一些功能。本文将介绍如何使用Maven来正确导入Jar包,并提供具体的代码示例。首先,我们需要在Maven的pom.xml文件中添加对所需Jar包的依赖。在pom.xml中,有一个

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구