JavaRush /Kurslar /All lectures for TK purposes /Apache taslamasy bilen tanyşlyk

Apache taslamasy bilen tanyşlyk

All lectures for TK purposes
Dereje , Sapak
Elýeterli

Apache Commons bilen tanyşlyk

Elbetde taryh bilen başlalyň!

1999-njy ýylda “Apache Group” Apache Software Foundationyň (mundan beýläk ASF) adyndan hasaba alyndy. ASF-iň goldaw beren taslamasy, 1995 we 1999-njy ýyllaryň arasynda döredilen Apache HTTPD Web Server boldy.

Jakarta Project (Jakarta taslamasy) hem şeýle boldy, ol Sun Microsystems, IBM, Oracle we Apache programmistleriniň hyzmatdaşlygy netijesinde döredi. 2001-nji ýylda öz işleriniň dowamynda programmistler topary, birmeňzeş funksiýalygy köplenç ýazýandyklaryny, kämahal ony biri-birinden göçürýändiklerini bellediler. Şeýle kod şablon kod diýilýär. Programmistlere kömek edýän köp mukdarda kod toplaýyp bildiler, ýöne saklaýan kitaplary ýokdy.

Şeýlelikde, Jakarta Commons taslamasy peýda boldy, ol Java (esasan, eýýäm bar bolan kod esasly) komponentleri goşdular. Soňra taslama Apache Commons adyny aldy.

Has giňişleýin aýtsak, Apache Commons – bu “kiçijik Java-utilitalaryň uly kolleksiýasy”. Ol açyk kodly köp taslamada ulanylýar.

Apache Commons utilitalary, Apache Tomcat, Struts, Hibernate we ş.m. taslamalaryň esasyny düzýär.

Elbetde, bularyň hemmesini elle hem goşup bileris, ýygnama ulgamy (Maven, Gradle) bolman, ýöne biz beýle etmeris we diňe olary taslamamyza goşarys.

Maven bilen işlemek üçin ilkinji gezek degişli baglanyşygy goşýarys:

<dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-lang3</artifactId>
   <version>${apache.common.version}</version>
</dependency>

Bu ýerde ${apache.common.version} – bu kitaphanalaryň wersiýasy.

Gradle (Groovy) üçin:

implementation 'org.apache.commons:commons-lang3:3.12.0'

Apache Commons-yň meşhur kitaplary

Has giňden ulanylýan klasslaryň we metodlaryň sanawy:

Apache Commons: Lang

Bu kitapda şeýle paketler bar:


Packages
org.apache.commons.lang
org.apache.commons.lang.builder
org.apache.commons.lang.enum
org.apache.commons.lang.enums
org.apache.commons.lang.exception
org.apache.commons.lang.math
org.apache.commons.lang.mutable
org.apache.commons.lang.reflect
org.apache.commons.lang.text
org.apache.commons.lang.time

Bu ýerde setirler, reflection, serialization, obýektler we ulgam bilen amatly we çalt işläp bolýar. Has giňden ulanylýan metodlaryň mysallary:

StringUtils

Setirler bilen işleşmek üçin köp sanda metod.

  • is(Not)Blank/Empty(String) – şeýle görnüşli barlag hakynda: if (s!=null && s.trim().length()>0) ýatdan çykarmaly, bu ýerde gowy çalyşmasy bar

StringEscapeUtils

  • (un)escapeSql(String)PreparedStatment çalyşmasy
  • (un)escapeHtml(String) – HTML-dan gelen gymmatlar üçin işlemek

ToStringBuilder

  • reflectionToString(Object) – reýfleksiýa esasynda toString() implementasiýasy. Reýfleksiýa arkaly haýsydyr bir meýdany aýyranyňyzda metodyň netijesi üýtgäp biler.

EqualsBuilder & HashCodeBuilder

  • reflectionEquals/HashCode(Object) – öz artykmaçlygy bilen awtomatiki generasiýa üçin gowy çalyşma: bu iki metod, iş wagtynda obýektiň struktura üýtgemelerini, meselem, meýdanlaryň goşulmagyny göz öňünde tutýalar

ExceptionUtils

  • getFullStackTrace(Throwable) – StackTrace-iň hemmesini setir görnüşinde çykarmak

Apache Commons: Collections


Packages
org.apache.commons.collections4
org.apache.commons.collections4.bag
org.apache.commons.collections4.bidimap
org.apache.commons.collections4.collection
org.apache.commons.collections4.comparators 
org.apache.commons.collections4.functors
org.apache.commons.collections4.iterators
org.apache.commons.collections4.keyvalue
org.apache.commons.collections4.list
org.apache.commons.collections4.map
org.apache.commons.collections4.multimap
org.apache.commons.collections4.multiset
org.apache.commons.collections4.properties
org.apache.commons.collections4.queue
org.apache.commons.collections4.sequence
org.apache.commons.collections4.set
org.apache.commons.collections4.splitmap
org.apache.commons.collections4.trie
org.apache.commons.collections4.trie.analyzer   

Java SE Collections Framework-i ajaýyp dolandyrýan kitap.

CollectionUtils – kolleksiýalar bilen amatly işlemek üçin klass:

    filter/find(Collection, Predicate) – predikat boýunça filtreleme we gözlemek forAllDo(Collection, Closure) – her bir element üçin Closure ýerine ýetirer, ýöne bu metod deprecated, Iterator.forEach() ulanyň is(Not)Empty(Collection) – öň null barlamasyz çagyrmaga mümkinçilik berýär isEqualCollection(Collection, Collection) – iki kolleksiýany deňeşdirmäge kömek edýär

Şeýle-de dürli derejede peýdaly köp sanly klasslar bar. Bu ýerde we ondan soň diňe öz mysalyma laýyk gelýän iň köp ulanylýanlary agzazym.

Apache Commons: IO


Packages
org.apache.commons.io
org.apache.commons.io.comparator
org.apache.commons.io.file
org.apache.commons.io.file.spi
org.apache.commons.io.filefilter
org.apache.commons.io.function
org.apache.commons.io.input
org.apache.commons.io.input.buffer
org.apache.commons.io.monitor
org.apache.commons.io.output
org.apache.commons.io.serialization

Java-da faýllar bilen goýmaça işlemäge kömek edýär:

FileUtils

  • copyDirectory(File, File) – kataloglaryň göçürme
  • copyFile(File, File) – faýllaryň göçürme
  • listFiles(File, String[], boolean) – giňeltme boýunça we rekursiw faýllaryň sanawy
  • readFileToString(File, String)
  • writeStringToFile(File, String)

IOUtils

  • closeQuietly(Reader/Writer/InputStream/OutputStream) – maglumat akymyny ýapýar
  • copy(InputStream, OutputStream) – bir akymdan beýlekisine göçürme

Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION