அப்பாச்சி காமன்ஸ் அறிமுகம்

நிச்சயமாக, வரலாற்றுடன் தொடங்குவோம்!

இது அனைத்தும் 1999 ஆம் ஆண்டில் அப்பாச்சி மென்பொருள் அறக்கட்டளையின் (ASF) சார்பாக "அப்பாச்சி குழுவின்" பதிவுடன் தொடங்கியது. 1995 மற்றும் 1999 க்கு இடையில் உருவாக்கப்பட்ட Apache HTTPD வலை சேவையகம் அறக்கட்டளையால் ஆதரிக்கப்படும் திட்டமாகும்.

சன் மைக்ரோசிஸ்டம்ஸ், ஐபிஎம், ஆரக்கிள் மற்றும் அப்பாச்சியைச் சேர்ந்த தோழர்களின் ஒத்துழைப்பின் விளைவாக தோன்றிய ஜகார்த்தா திட்டம் (ஜகார்த்தா திட்டம்) அதேதான். 2001 ஆம் ஆண்டில், பணியின் போது, ​​​​அவர்கள் பெரும்பாலும் ஒரே செயல்பாட்டை எழுதுவதை மேம்பாட்டுக் குழு கவனித்தது, சில சமயங்களில் அவர்கள் அதை ஒருவருக்கொருவர் நகலெடுக்கிறார்கள். அத்தகைய குறியீடு கொதிகலன் என்று அழைக்கப்படுகிறது. டெவலப்பர்களுக்கு உதவும் ஒரு பெரிய அளவிலான குறியீட்டை அவர்கள் சேகரிக்க முடிந்தது, ஆனால் அதைச் சேமிக்க நூலகம் இல்லை.

ஜகார்த்தா காமன்ஸ் திட்டம் பிறந்தது இப்படித்தான், இதில் ஜாவா கூறுகள் சேர்க்கப்பட்டன (பெரும்பாலும் ஏற்கனவே உள்ள குறியீட்டின் அடிப்படையில்). இந்தத் திட்டம் பின்னர் அப்பாச்சி காமன்ஸ் எனப் பெயர் மாற்றப்பட்டது.

இன்னும் விரிவாக, அப்பாச்சி காமன்ஸ் என்பது "சிறிய ஜாவா பயன்பாடுகளின் பெரிய தொகுப்பு" ஆகும். இது பல திறந்த மூல திட்டங்களில் பயன்படுத்தப்படுகிறது.

அப்பாச்சி டாம்கேட், ஸ்ட்ரட்ஸ், ஹைபர்னேட் மற்றும் பிற திட்டங்களின் மையத்தில் அப்பாச்சி காமன்ஸ் பயன்பாடுகள் உள்ளன.

நிச்சயமாக, இவை அனைத்தையும் உருவாக்க அமைப்பு (மேவன், கிரேடில்) இல்லாமல் கைமுறையாக இணைக்க முடியும், ஆனால் நாங்கள் இதைச் செய்ய மாட்டோம், அவற்றை எங்கள் திட்டத்தில் சேர்க்க மாட்டோம்.

மேவனுடன் பணிபுரிய, முதலில் பொருத்தமான சார்புநிலையைச் சேர்க்கவும்:

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

${apache.common.version} என்பது இந்த நூலகத்தின் பதிப்பாகும் .

கிரேடலுக்கு (க்ரூவி):

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

பிரபலமான அப்பாச்சி காமன்ஸ் நூலகங்கள்

மிகவும் பயன்படுத்தப்படும் வகுப்புகள் மற்றும் முறைகளின் பட்டியல் இங்கே:

அப்பாச்சி காமன்ஸ்:Lang

இந்த நூலகம் பின்வரும் தொகுப்புகளைக் கொண்டுள்ளது:


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

இங்கே நீங்கள் சரங்கள், பிரதிபலிப்பு, வரிசைப்படுத்தல், பொருள்கள் மற்றும் அமைப்புடன் வசதியாகவும் விரைவாகவும் வேலை செய்யலாம். மிகவும் பயன்படுத்தப்படும் முறைகளைக் கவனியுங்கள்:

StringUtils

சரங்களை கையாளுவதற்கான ஒரு பெரிய எண்ணிக்கையிலான முறைகள்.

  • is(Not)Blank/Empty(ஸ்ட்ரிங்) - இந்த வகை காசோலையை மறந்துவிட வேண்டிய நேரம் இது: என்றால் (s!=null && s.trim().length()>0) , மற்றும் இங்கே ஒரு நல்ல மாற்றீடு உள்ளது

StringEscapeUtils

  • (un)escapeSql(ஸ்ட்ரிங்) - PreparedStatment ஐ மாற்றவும்
  • (un)escapeHtml(ஸ்ட்ரிங்) - HTML இலிருந்து மதிப்புகளைச் செயலாக்க

ToStringBuilder

  • பிரதிபலிப்புToString(Object) என்பது பிரதிபலிப்பு அடிப்படையில் toString() செயல்படுத்தல் ஆகும் . பிரதிபலிப்பைப் பயன்படுத்தி புலத்தை அகற்றும்போது, ​​முறையின் முடிவு மாறும்.

EqualsBuilder & HashCodeBuilder

  • பிரதிபலிப்பு சமம்/ஹேஷ்கோட்(பொருள்) அதன் சொந்த நன்மையுடன் தானியங்கி உருவாக்கத்திற்கு ஒரு நல்ல மாற்றாகும்: இந்த இரண்டு முறைகளும் செயல்பாட்டின் போது பொருளின் கட்டமைப்பு மாற்றங்களை கணக்கில் எடுத்துக்கொள்கின்றன, எடுத்துக்காட்டாக, புலங்களைச் சேர்ப்பது

விதிவிலக்குகள்

  • getFullStackTrace (எறியக்கூடியது) - முழு StackTrace ஐ ஒரு சரமாக வெளியிடவும்

அப்பாச்சி காமன்ஸ்: தொகுப்புகள்

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 சேகரிப்பு கட்டமைப்பை முழுமையாக பூர்த்தி செய்யும் நூலகம்.

CollectionUtils என்பது சேகரிப்புகளுடன் வசதியான வேலைக்கான ஒரு வகுப்பு:

    வடிகட்டி/கண்டுபிடிப்பு(சேகரிப்பு, கணிப்பு) - ForAllDo(சேகரிப்பு, மூடல்) முன்னறிவிப்பு மூலம் வடிகட்டுதல் மற்றும் தேடுதல் - ஒவ்வொரு உறுப்புக்கும் மூடுதலைச் செய்கிறது, ஆனால் இந்த முறை நீக்கப்பட்டது , Iterator.forEach() ஐப் பயன்படுத்தவும்(Not)Empty(சேகரிப்பு) - உங்களை அனுமதிக்கிறது isEqualCollection (சேகரிப்பு, சேகரிப்பு) என்று அழைப்பதற்கு முன் பூஜ்யத்தை சரிபார்க்க வேண்டாம் - இரண்டு சேகரிப்புகளை ஒப்பிட உதவுகிறது

பல்வேறு வகையான பயன்பாட்டு நிலைகளின் பல வகுப்புகளும் உள்ளன. இங்கே மற்றும் கீழே நான் என் விஷயத்தில் மிகவும் பொதுவாகப் பயன்படுத்தப்படும் பட்டியலிடுகிறேன்.

அப்பாச்சி காமன்ஸ்: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

கூடுதலாக, இது ஜாவாவில் உள்ள கோப்புகளுடன் வேலை செய்ய உதவுகிறது:

FileUtils

  • copyDirectory(கோப்பு, கோப்பு) - கோப்பகங்களை நகலெடுக்கவும்
  • copyFile(கோப்பு, கோப்பு) - கோப்புகளை நகலெடுக்கவும்
  • listFiles(File, String[], boolean) - கோப்புகளை நீட்டிப்பு மற்றும் மீண்டும் மீண்டும் பட்டியலிடவும்
  • readFileToString(கோப்பு, சரம்)
  • writeStringToFile(கோப்பு, சரம்)

IOUtils

  • நெருக்கமாக (ரீடர்/ரைட்டர்/இன்புட்ஸ்ட்ரீம்/அவுட்புட்ஸ்ட்ரீம்) - டேட்டா ஸ்ட்ரீமை மூடுகிறது
  • நகல் (இன்புட்ஸ்ட்ரீம், அவுட்புட்ஸ்ட்ரீம்) - ஒரு ஸ்ட்ரீமில் இருந்து மற்றொன்றுக்கு நகலெடுக்கவும்