ජාවාබීන් යනු කුමක්ද?


1816

"බීන්" යනු දේපල සහ ලබා ගන්නන් / කට්ටල සහිත ජාවා පන්තියක් බව මම තේරුම් ගතිමි. මා තේරුම් ගත් පරිදි එය සී ව්‍යුහයකට සමාන වේ. ඒක ඇත්තක්ද?

එසේම, බෝංචි සහ සාමාන්‍ය පන්තියක් අතර සැබෑ සින්ටැක්ටික් වෙනසක් තිබේද? විශේෂ අර්ථ දැක්වීමක් හෝ අතුරු මුහුණතක් තිබේද?

මූලික වශයෙන්, මේ සඳහා යෙදුමක් ඇත්තේ ඇයි?

ද දේ කරන්නේ Serializableඅතුරු මුහුණත අදහස්?


14
ජාවා බෝංචි භාවිතා කළ ස්ථාන බලන්න ? . එය ඇතැම් සම්මුතීන් අනුගමනය කරන පන්තියකි.
මැතිව් ෆ්ලැෂෙන්

5
සම්පූර්ණත්වය සඳහා, මෙන්න ජාවාබීන්ස් පිරිවිතරයට සබැඳියක් .
inforatik01

2
සටහනක් පමණි. POJO යන පදය වටා මිනිසුන් විසි කරන බව ඔබට කවදා හෝ ඇසුනේ නම්, ඔවුන් බොහෝ විට අදහස් කරන්නේ බීන් යන්නයි. ඔබ POJOs දුටු විට ඔවුන් සෑම විටම පාහේ සැකසුම් කරුවන් සහ ලබා ගන්නන් ඇත, අනුක්‍රමික කළ හැකිය,… ඇත්ත වශයෙන්ම POJO ට සෙටර්ස් සහ ගේටර්ස්, අනුක්‍රමික අතුරු මුහුණතක් හෝ වෙනත් කිසිවක් අවශ්‍ය නොවේ - එය හුදෙක් නිශ්චිත අවශ්‍යතා නොමැති සරල පැරණි ජාවා වස්තුවකි.
බිල් කේ

Answers:


2048

ජාවාබීන් යනු සම්මතයකි

  1. සියලුම දේපල පුද්ගලිකයි ( getters / setters භාවිතා කරන්න )
  2. පොදු තර්ක විතර්ක සාදන්නෙක්
  3. ක්‍රියාත්මක Serializableකරයි.

ඒක තමයි. එය සමුළුවක් පමණි. පුස්තකාල ගොඩක් ඒ මත රඳා පවතී.

සම්බන්ධයෙන් Serializableසිට, API ප්රලේඛනය :

Java.io.Serializable අතුරුමුහුණත ක්‍රියාත්මක කිරීමෙන් පන්තියේ අනුක්‍රමික හැකියාව සක්‍රීය වේ. මෙම අතුරුමුහුණත ක්‍රියාත්මක නොකරන පංතිවලට ඔවුන්ගේ කිසිදු රාජ්‍ය අනුක්‍රමික හෝ ආශිර්වාදයක් නොමැත. අනුක්‍රමික පන්තියක සියලුම උප වර්ගයන් අනුක්‍රමික කළ හැකිය. අනුක්‍රමිකකරණ අතුරුමුහුණතට ක්‍රම හෝ ක්ෂේත්‍ර නොමැති අතර සේවය කරන්නේ අනුක්‍රමික විය හැකි අර්ථ නිරූපණය හඳුනා ගැනීමට පමණි.

වෙනත් වචන වලින් කිවහොත්, අනුක්‍රමික වස්තු ධාරාවන්ට ලිවිය හැකි අතර, එබැවින් ලිපිගොනු, වස්තු දත්ත සමුදායන්, ඕනෑම දෙයක්.

එසේම, ජාවාබීන් සහ වෙනත් පංතියක් අතර සින්ටැක්ටික් වෙනසක් නොමැත - පංතියක් යනු ප්‍රමිතීන් අනුගමනය කරන්නේ නම් එය ජාවාබීන් ය.

ඒ සඳහා යම් යෙදුමක් ඇත, මන්ද ඔබ විසින් නිර්වචනය කරන ලද පන්ති අවස්ථා සමඟ ක්‍රමලේඛනගතව දේවල් කිරීමට පුස්තකාලවලට ඉඩ සලසයි. නිදසුනක් ලෙස, පුස්තකාලයකට ඔබ ඇතුළු කරන ඕනෑම වස්තුවක් ප්‍රවාහනය කිරීමට අවශ්‍ය නම්, එය කළ හැකි බව එය දනී, මන්ද ඔබේ වස්තුව අනුක්‍රමික කළ හැකි බැවිනි.


206
මගේ මතය අනුව, බෝංචි වටා කැරකෙන සියලුම ලියකියවිලි පාහේ ඔබට ඇති තරම් සංක්ෂිප්තව මෙම පදය විස්තර කළ නොහැක. +1
AndaP

10
බෝංචි වල සාමාජිකයන් ද බෝංචි විය යුතුද? සාධාරණ අවශ්‍යතාවයක් සේ පෙනේ ..
worldsayshi

14
@worldsayshi - නැත, එය අවශ්‍ය නොවේ. උදාහරණයක් ලෙස බෝංචි වල නූල් අඩංගු විය හැකිය; නූල් බෝංචි නොවේ. . එබැවින් නැත, ජාවා බෝංචි සාමාජිකයින්ට ජාවා බෝංචි වල කිසිදු අංගයක් අවශ්‍ය නොවේ. බෝංචි නම් එය වඩාත් සරල වුවත් .
විලියම් බර්

12
"සියලුම දේපල පුද්ගලික" නිවැරදි නොවේ. දේපල ලබා ගන්නන් සහ සැකසුම් කරුවන්ගෙන් අනුමාන කෙරේ (X getFoo () ක්‍රමයක් තිබේ නම් -> බෝංචි කියවිය හැකි දේපලක් "foo" ඇත; setFoo (X foo) ක්‍රමයක් තිබේ නම් -> බෝංචි ලිවිය හැකි දේපලක් ඇත "foo"). සාමාන්‍යයෙන් පුද්ගලික වන සාමාජික ක්ෂේත්‍ර (දේපල විය යුතුය) මගින් දේපල වලට සහාය විය හැකිය.
Puce

2
ජාවා බෝංචි වීම "පංතියක් පොදු විය යුතුය" යනුවෙන් මම බලාපොරොත්තු වෙමි. අනුක්‍රමික අතුරුමුහුණත ක්‍රියාත්මක කිරීම ඇත්තෙන්ම අවශ්‍යද ??
සත්‍යබ්‍රත සහූ

288

එය විශේෂ ශබ්දයක් බවට පත් කිරීම සඳහා යෙදුමක් තිබේ. යථාර්ථය කොතැනකවත් එතරම් අද්භූත දෙයක් නොවේ.

මූලික වශයෙන්, "බෝංචි":

  • අනුක්‍රමික වස්තුවකි (එනම්, එය ක්‍රියාත්මක කරයි java.io.Serializable, සහ නිවැරදිව කරයි), එනම්
  • ඇතැම් නම් සහිත ක්‍රම පමණක් වන "ගුණාංග" ඇත ( getFoo()"ෆූ" දේපල සඳහා ලබන්නා වැනි), සහ
  • පොදු 0-arg ඉදිකිරීම්කරුවෙකු ඇත (එබැවින් එය කැමැත්තෙන් නිර්මාණය කර එහි ගුණාංග සැකසීමෙන් වින්‍යාසගත කළ හැකිය).

යාවත්කාලීන කිරීම:

සම්බන්ධයෙන් ගත් කල Serializable: එය “සලකුණු අතුරුමුහුණතක්” (කිසිදු කාර්යයක් ප්‍රකාශ නොකරන අතුරු මුහුණතක්) මිස වෙන කිසිවක් නොවේ. එය ක්‍රියාත්මක කරන පන්තිය “අනුක්‍රමිකකරණය” සඳහා එකඟ වන බව (සහ එයට හැකියාව ඇති බව අඟවයි) - ජාවාට පවසන ක්‍රියාවලියකි. උදාහරණයක් ලෙස බයිට් ප්‍රවාහයකට. එම බයිට් ලිපිගොනු වල ගබඩා කළ හැකිය, ජාල සම්බන්ධතාවයක් හරහා යවනු ලැබේ, සහ ජේවීඑම් (අවම වශයෙන්, වස්තුවේ වර්ගය ගැන දන්නා) වස්තුව පසුව ප්‍රතිනිර්මාණය කිරීමට ඉඩ දීමට ප්‍රමාණවත් තොරතුරු තිබිය හැකිය - සමහර විට වෙනත් අවස්ථාවක යෙදුම, හෝ වෙනත් යන්ත්‍රයක පවා!

ඇත්ත වශයෙන්ම, එය සිදු කිරීම සඳහා, පන්තියට යම් සීමාවන් පිළිපැදිය යුතුය. ඒවා අතර ප්‍රධානතම දෙය නම්, සියලු නිදර්ශන ක්ෂේත්‍ර එක්කෝ ප්‍රාථමික වර්ග (int, bool, ආදිය) විය යුතුය, සමහර පන්තියේ සිදුවීම් අනුක්‍රමික කළ හැකි හෝ සලකුණු කර ඇති transientනිසා ජාවා ඒවා ඇතුළත් කිරීමට උත්සාහ නොකරනු ඇත. (ඇත්ත වශයෙන්ම මෙයින් අදහස් කරන්නේ transientදිය පහරක් හරහා ගමන් කිරීමෙන් ක්ෂේත්‍ර නොනැසී පවතින transientබවයි. අවශ්‍ය නම් ඒවා නැවත ආරම්භ කිරීමට ක්ෂේත්‍ර ඇති පන්තියක් සූදානම් විය යුතුය.)

එම සීමාවන්ට යටත් විය නොහැකි පංතියක් ක්‍රියාත්මක නොවිය යුතුය Serializable(සහ, IIRC, ජාවා සම්පාදකයා එයට එසේ කිරීමට ඉඩ නොදේ .)


මෙය බොහෝ විට මෝඩ ප්‍රශ්නයක් විය හැකි නමුත්, ප්‍රාථමික වර්ගයක් හෝ පන්තියක නිදසුනක් හැර වෙනත් ක්ෂේත්‍රයක් විය හැක්කේ කුමක් ද?
kingfrito_5005

8
@ kingfrito_5005: එය එකක් හෝ වෙනත් එකක් වනු ඇත. නමුත් එය පන්තියක උදාහරණයක් නම්, එම පන්තිය අනුක්‍රමිකද නැද්ද යන්න වැදගත් වේ. පංතියක් අනුක්‍රමික වීමට නම්, එහි transientකොටස් නොවන කොටස් අනුක්‍රමික විය යුතුය.
cHao

ඉදිකිරීම්කරුට තර්ක තිබිය යුතු නැති බව සඳහන් කිරීමට අමතක විය හැක. පොදු පෙරනිමි ඉදිකිරීම්කරුවෙකු ඇත (එබැවින් එය කැමැත්තෙන් නිර්මාණය කර එහි ගුණාංග සැකසීමෙන් වින්‍යාසගත කළ හැකිය).
ආමොස් කොස්ගෙයි

M ආමොස්කොස්ජි: අමතක කළේ නැත; එය අතිරික්ත වනු ඇත. නිර්වචනය අනුව පෙරනිමි ඉදිකිරීම්කරුවෙකු තර්ක නොමැතිව කැඳවිය හැකිය.
cHao

M ආමොස්: මම ඒ ගැන සොයා බලන විට, “පෙරනිමි ඉදිකිරීම්කරු” යන්නෙන් අදහස් කරන්නේ ජාවා හි සී ++ ට වඩා තරමක් වෙනස් දෙයක්. : P "පෙරනිමිය" "0-arg" සමඟ ආදේශ කර ඇත.
cHao

94

ජාවාබීන්ස් යනු ජාවා පංති වන අතර එය අතිශය සරල කේතීකරණ සම්මුතියකට අනුගත වේ. ඔබ කළ යුත්තේ එයයි

  1. java.io.Serializableඅතුරු මුහුණත ක්‍රියාත්මක කිරීම - වස්තුවක තත්වය සුරැකීමට
  2. වස්තුව ක්ෂණිකව දැක්වීමට පොදු හිස් තර්ක සාදන්නෙකු භාවිතා කරන්න
  3. පොදු විචල්‍ය / සැකසුම් ක්‍රම සැපයීම - පුද්ගලික විචල්‍යයන්ගේ (ගුණාංග) අගයන් ලබා ගැනීමට සහ සැකසීමට.

එවැනි සරල පැහැදිලි කිරීමක් වන්නේ මා සොයන දෙයයි. ඔබට ස්තුතියි!
මෝඩෝ

62

ජාවාබීන්ස් හි ගුණාංග

ජාවාබීන් යනු සමහර වැඩසටහන් සම්මුතීන් තෘප්තිමත් කරන ජාවා වස්තුවකි:

  1. මෙම JavaBean පන්තියේ හෝ ක්රියාත්මක කළ යුතු Serializableහෝ Externalizable

  2. ජාවාබීන් පංතියට ආගන්තුක ඉදිකිරීම්කරුවෙකු සිටිය යුතුය

  3. සියලුම ජාවාබීන් දේපල සඳහා පොදු සැකසුම් සහ ලබා ගැනීමේ ක්‍රම තිබිය යුතුය

  4. සියලුම ජාවාබීන් නිදර්ශන විචල්‍යයන් පුද්ගලික විය යුතුය

ජාවාබීන්ස් සඳහා උදාහරණය

@Entity
public class Employee implements Serializable{

   @Id
   private int id;
   private String name;   
   private int salary;  

   public Employee() {}

   public Employee(String name, int salary) {
      this.name = name;
      this.salary = salary;
   }
   public int getId() {
      return id;
   }
   public void setId( int id ) {
      this.id = id;
   }
   public String getName() {
      return name;
   }
   public void setName( String name ) {
      this.name = name;
   }
   public int getSalary() {
      return salary;
   }
   public void setSalary( int salary ) {
      this.salary = salary;
   }
}

3
ව්‍යාඛ්‍යාව අවශ්‍යද නැතිනම් ජාවා බෝංචි වල කොටසක්ද?
giannis christofakis

7
iangiannischristofakis නැත, විවරණ අවශ්‍ය නොවේ. විවරණයන් ජාවා බෝංචි විශාල වශයෙන් භාවිතා කරන වසන්ත රාමුවේ කොටසක් භාවිතා කරයි.
ටියැන්සියාං සියොන්ග්

1
එයට ආගන්තුක ඉදිකිරීම්කරුවෙකු සිටිය යුත්තේ ඇයි?
රෙනාටෝ

6
En රෙනාටෝ මෙය ඉතා සරල ය. ආර්ග්-කන්ස්ට්‍රක්ටර් සමඟ ඔබේ බෝංචි ස්වයංක්‍රීයව ක්ෂණිකව තහවුරු කළ යුතු වසන්තය ගැන සිතන්න ... එය තර්ක ලෙස සම්මත වන්නේ කුමක් ද? ;)
ඇලෙක්ස් 75

24

උදාහරණයක් සමඟ පැහැදිලි කිරීම.

1. ආනයනය java.io.Serializable

අනුක්‍රමිකකරණය සඳහා, ප්‍රලේඛනය බලන්න .

2. පෞද්ගලික ක්ෂේත්‍ර

බාහිර පංති පහසුවෙන් එම ක්ෂේත්‍ර වෙනස් කිරීම වැළැක්වීම සඳහා ක්ෂේත්‍ර පුද්ගලික විය යුතුය. එම ක්ෂේත්‍රයන්ට කෙලින්ම ඇදී යාම වෙනුවට, සාමාන්‍යයෙන් ලබා ගන්නා / සැකසුම් ක්‍රම භාවිතා කරනු ලැබේ.

3. ඉදිකිරීම්කරු

කිසිදු තර්කයක් නොමැතිව පොදු ඉදිකිරීම්කරුවෙක්.

4. getter / setter

පුද්ගලික ක්ෂේත්‍ර වෙත ප්‍රවේශ වීම සහ වෙනස් කිරීම සඳහා ගෙටර් සහ සෙටර් ක්‍රම.

/** 1. import java.io.Serializable */
public class User implements java.io.Serializable {
    /** 2. private fields */
    private int id;
    private String name;

    /** 3. Constructor */
    public User() {
    }
    public User(int id, String name) {
        this.id = id;
        this.name = name;
    }

    /** 4. getter/setter */
    // getter
    public int getId() {
        return id;
    }
    public String getName() {
        return name;
    }
    // setter
    public void setId(int id) {
        this.id = id;
    }
    public void setName(String name) {
        this.name = name;
    }
}

2
මම හිතන්නේ setId(int id)ඔබ this.id = id;ඒ වෙනුවට කීමට අදහස් කළේthis.id = is;
steven7mwesigwa

18

ජාවා බෝංචි අඩු කේත සහ වැඩි වැඩ ප්‍රවේශයක් සඳහා භාවිතා කරයි ... ජාවා බෝංචි ජාවා ඊඊ පුරා භාවිතා කරනුයේ ධාවන කාල සොයා ගැනීම සහ ප්‍රවේශය සඳහා විශ්වීය කොන්ත්‍රාත්තුවක් වශයෙනි. උදාහරණයක් ලෙස, ජාවාසර්වර් පිටු (ජේඑස්පී) ජාවා බෝංචි භාවිතා කරන්නේ පිටු අතර හෝ සේවා ස්ථාන සහ ජේඑස්පී අතර දත්ත හුවමාරු වස්තු ලෙස ය. ජාවා ඊඊ හි ජාවාබීන්ස් සක්‍රීය කිරීමේ රාමුව ජාවා ඊඊ සමඟ MIME දත්ත වර්ග සඳහා සහය ඒකාබද්ධ කිරීම සඳහා ජාවා බෝංචි භාවිතා කරයි. ජාවා ඊඊ කළමණාකරණ ඒපීඅයි ජාවා ඊඊ පරිසරය තුළ කළමනාකරණය කළ යුතු සම්පත් උපකරණය සඳහා පදනම ලෙස ජාවාබීන්ස් භාවිතා කරයි.

අනුක්‍රමිකකරණය ගැන:

වස්තු අනුක්‍රමිකකරණයේදී වස්තුවක් බයිට් අනුක්‍රමයක් ලෙස නිරූපණය කළ හැකි අතර එය වස්තුවේ දත්ත මෙන්ම වස්තුවේ වර්ගය සහ වස්තුව තුළ ගබඩා කර ඇති දත්ත වර්ග ද ඇතුළත් වේ.

අනුක්‍රමික වස්තුවක් ගොනුවකට ලිවීමෙන් පසුව, එය ගොනුවෙන් කියවා ඩෙසියලයිස් කළ හැකිය, එනම් වස්තුව සහ එහි දත්ත නියෝජනය කරන තොරතුරු සහ බයිට් වර්ග මතකයෙන් වස්තුව ප්‍රතිනිර්මාණය කිරීමට භාවිතා කළ හැකිය.


17

ඔබේ ව්‍යාපෘතිය බහුවිධ සේවාදායකයන් හරහා යෙදවීමේදී අනුක්‍රමිකකරණය ප්‍රයෝජනවත් වන බැවින් බෝංචි නොනවත්වා ඒවා හරහා මාරු වේ.


1
බහු සේවාදායකයන් හරහා ව්‍යාපෘතිය යෙදවීම පිළිබඳ වැඩි විස්තර ලබා දීමට ඔබට හැකිද? ස්තූතියි
හැන්ෆෙන්

4
වෙබ් අඩවි සඳහා මෙම සබැඳිය stackoverflow.com/questions/3193345/… උදව් විය හැකි බැවින් සේවාදායක කිහිපයක් සහිත පොකුරක් කියන්න .
Truong Ha

10

ජාවා බෝංචි ප්‍රමිතියක් වන අතර එහි මූලික සින්ටැක්ස් අවශ්‍යතා අනෙක් පිළිතුරු මගින් පැහැදිලි කර ඇත.

කෙසේ වෙතත්, IMO, එය සරල සින්ටැක්ස් ප්‍රමිතියකට වඩා වැඩිය. ජාවා බෝංචි වල සැබෑ අරුත හෝ අපේක්ෂිත භාවිතය, ප්‍රමිතිය වටා ඇති විවිධ මෙවලම් ආධාරක සමඟ, කේත නැවත භාවිතා කිරීම සහ සංරචක මත පදනම් වූ මෘදුකාංග ඉංජිනේරුකරණය සඳහා පහසුකම් සැලසීම, එනම් පවත්නා සංරචක (පන්ති) එකලස් කිරීමෙන් සහ කිසිවක් ලිවීමකින් තොරව සංවර්ධකයින්ට යෙදුම් තැනීමට ඉඩ සලසයි. කේතය (හෝ මැලියම් කේතයක් ලිවීමට පමණක් සිදුවේ). අවාසනාවකට මෙන් මෙම තාක්‍ෂණය කර්මාන්තය විසින් තක්සේරු කර ඇති හා අඩුවෙන් උපයෝගී කර ගෙන ඇති අතර මෙම ත්‍රෙඩ් එකේ පිළිතුරු වලින් කිව හැකිය.

ඔබ ජාවා බෝංචි පිළිබඳ ඔරකල්ගේ නිබන්ධනය කියවන්නේ නම් , ඔබට ඒ පිළිබඳව වඩා හොඳ අවබෝධයක් ලබා ගත හැකිය.


ප්‍රයෝජනවත් පෝස්ට් සහ සබැඳිය. මම බෝංචි ගැන සිතන විට ඔරකල් ලිපියේ දක්වා ඇති පරිදි “දෘශ්‍ය බිල්ඩර්” වර්ගයේ දේවල් ගැන සිතමි. ඒවා විශාල වශයෙන් භාවිතා කරන තවත් බොහෝ රාමු තිබේදැයි මම කල්පනා කරමි ...
මයික් මීයන්

9

විකිපීඩියාවට අනුව:

  1. පන්තියට පොදු පෙරනිමි ඉදිකිරීම්කරුවෙකු සිටිය යුතුය (තර්ක නොමැතිව). මෙය සංස්කරණ සහ සක්‍රීය රාමු තුළ පහසුවෙන් ස්ථාපනය කිරීමට ඉඩ දෙයි.

  2. සම්මත නම් කිරීමේ සම්මුතියකට අනුව ලබා ගැනීම, සැකසීම, (ලබා ගැනීම වෙනුවට බූලියන් ගුණාංග සඳහා භාවිතා කළ හැකිය) සහ වෙනත් ක්‍රම (ඊනියා ප්‍රවේශ ක්‍රම සහ විකෘති ක්‍රම) භාවිතා කරමින් පන්ති ගුණාංග ප්‍රවේශ විය යුතුය. රාමු තුළ බෝංචි තත්වය පහසුවෙන් ස්වයංක්‍රීයව පරීක්ෂා කිරීමට සහ යාවත්කාලීන කිරීමට මෙය ඉඩ දෙයි, ඒවායින් බොහොමයක් විවිධ වර්ගයේ දේපල සඳහා අභිරුචි සංස්කාරකවරුන් ඇතුළත් වේ. සැකසුම්කරුවන්ට තර්ක එකක් හෝ කිහිපයක් තිබිය හැකිය.

  3. පන්තිය අනුක්‍රමික විය යුතුය. [මෙමඟින් වීඑම් සහ වේදිකාවෙන් ස්වාධීනව බෝංචි තත්වය විශ්වසනීයව සුරැකීමට, ගබඩා කිරීමට සහ යථා තත්වයට පත් කිරීමට යෙදුම් සහ රාමු වලට ඉඩ ලබා දේ.]

වැඩි විස්තර සඳහා මෙම සබැඳිය අනුගමනය කරන්න .


7

ඔබගේ ප්‍රශ්නයේ දෙවන කොටස සම්බන්ධයෙන්, අනුක්‍රමිකකරණය යනු අත්සන් කරන ලද බයිට් අනුක්‍රමයක් ලෙස වස්තු ගබඩා කිරීම සඳහා භාවිතා කරන අඛණ්ඩ යාන්ත්‍රණයකි. විධිමත් ලෙස අඩුවෙන් තබන්න, එය වස්තුවක තත්වය ගබඩා කරයි, එවිට ඔබට එය නැවත ලබා ගත හැක.


7

ජාවා බෝංචි යනු ජාවා පන්තියකි [සංකල්පීය] එය පහත සඳහන් සම්මුතීන් අනුගමනය කළ යුතුය:

  1. එයට ආගන්තුක ඉදිකිරීම්කරුවෙකු සිටිය යුතුය.
  2. එය අනුක්‍රමික විය යුතුය.
  3. එය ගෙටර් සහ සෙටර් ක්‍රම ලෙස හැඳින්වෙන ගුණාංගවල අගයන් සැකසීමට හා ලබා ගැනීමට ක්‍රමවේදයන් සැපයිය යුතුය.

එය නැවත භාවිතා කළ හැකි මෘදුකාංග අංගයකි. එමඟින් බොහෝ වස්තු එක් වස්තුවකට සංයුක්ත කළ හැකි අතර එමඟින් එකම වස්තුවකට බහුවිධ ස්ථානවලින් ප්‍රවේශ විය හැකි අතර කේතය පහසුවෙන් නඩත්තු කිරීමේ පියවරකි.


1
ජාවා බෝංචි ගැන කතා කරන විට "නැවත භාවිතා කළ හැකි මෘදුකාංග සංරචකය" යන වාක්‍ය ඛණ්ඩයට මම කැමතියි - මන්ද ජාවා බෝංචි පොදුවේ කිසිවක් නොකරන බැවිනි.
රොඩ්නි පී. බාබටි

6

ඒවා අනුක්‍රමික කළ හැකි, ශුන්‍ය-තර්ක සාදන්නෙකු ඇති අතර, ගෙටර් සහ සෙටර් ක්‍රම භාවිතා කරමින් දේපල වෙත ප්‍රවේශ වීමට ඉඩ ලබා දේ. ජාවා සඳහා නැවත භාවිතා කළ හැකි මෘදුකාංග සංරචක නිර්මාණය කිරීම අරමුණු කරගත් මෙම ප්‍රමිතිය ඇතුළත් කිරීම සඳහා "බීන්" යන නම ලබා දී ඇත. according to විකිය

ඔබේ යෙදුමේ කොඳු නාරටිය වන සහ වසන්ත අයිඕසී බහාලුම මගින් කළමනාකරණය කරන වස්තූන් බෝංචි ලෙස හැඳින්වේ. බෝංචි යනු ස්ප්‍රින්ග් අයිඕසී බහාලුමක් මගින් ක්ෂණිකව, එකලස් කර වෙනත් ආකාරයකින් කළමනාකරණය කරන වස්තුවකි. එසේ නොමැතිනම්, බෝංචි යනු ඔබේ යෙදුමේ ඇති බොහෝ වස්තු වලින් එකකි. according to වසන්ත io .


4

බෝංචි සංකල්පය පිළිබඳ ටිකක් පසුබිම / යාවත්කාලීන කිරීම. තවත් බොහෝ පිළිතුරු වල ඇත්ත වශයෙන්ම ඇත්තේ කුමක් ද යන්න නොව එතරම්ම දේ.

GUIs ගොඩනැගීමේ කොටසක් ලෙස ජාවාහි මුල් අවධියේදී ඒවා සොයා ගන්නා ලදී. ඔවුන් පැනල් වලට පහසුවෙන් ඇද ගත හැකි රටා අනුගමනය කළ අතර ඔවුන්ට ගුණාංග පුවරුවක් සෑදීමට ඉඩ සලසයි, එවිට ඔබට බීන් වල ගුණාංග සංස්කරණය කළ හැකිය. පොදුවේ ගත් කල, බීන් ගුණාංග තිරය මත පාලනයක් නිරූපණය කළේය (සිතන්න x, y, පළල, උස, පෙළ, ..)

ඔබට එය තදින් ටයිප් කළ දත්ත ව්‍යුහයක් ලෙස සිතිය හැකිය.

කාලයාගේ ඇවෑමෙන් මේවා එකම ආකාරයේ ප්‍රවේශයන් භාවිතා කළ මෙවලම් රාශියකට ප්‍රයෝජනවත් විය (නිදසුනක් ලෙස, දත්ත ව්‍යුහයන් දත්ත ගබඩාවට දිගටම පවත්වා ගැනීමට ශිශිරතාරණය)

මෙවලම් පරිණාමය වන විට, ඒවා වැඩි වැඩියෙන් විවරණයන් දෙසට ගමන් කළ අතර, සැකසුම්කරු / ලබා ගන්නන්ගේ නම් වෙන් නොකෙරේ. දැන් බොහෝ පද්ධති වලට බෝංචි අවශ්‍ය නොවේ, ඒවා හැසිරවිය යුතු ආකාරය පැවසීමට විවරණය කළ ගුණාංග සහිත ඕනෑම පැරණි ජාවා වස්තුවක් රැගෙන යා හැකිය.

දැන් මම බෝංචි දකින්නේ විවරණය කළ දේපල බෝල ලෙසයි - ඒවා සැබවින්ම ප්‍රයෝජනවත් වන්නේ ඔවුන් ගෙන යන විවරණ සඳහා පමණි.

බෝංචි යනු සෞඛ්‍ය සම්පන්න රටාවක් නොවේ. ඔවුන්ගේ සියලු ගුණාංග බාහිර උපාමාරු වලට නිරාවරණය වන හෙයින් ඒවා ස්වභාවයෙන්ම සංසරණය විනාශ කරන අතර ඒවා භාවිතා කරන විට බෝංචි ඇතුළත කේත නිර්මාණය කරනවා වෙනුවට බෝංචි බාහිරව හැසිරවීමට කේතයක් නිර්මාණය කිරීමේ ප්‍රවණතාවක් ඇත (කිසිසේත් අවශ්‍ය නොවේ). වස්තුවක සාරධර්ම ඉල්ලා නොසිටින්න, ඔබ වෙනුවෙන් යමක් කිරීමට වස්තුවක් ඉල්ලන්න "). අවම ලබා ගන්නන් හා සැකසුම් කරුවන් නොමැති විවරණ සහිත පූජෝ භාවිතා කිරීම වඩා වැඩි OO ප්‍රතිස්ථාපන සංවර්‍ධනය කිරීම සහ වෙනස් කළ නොහැකි වීමේ හැකියාව ඇත.

මාර්ගය වන විට, මේ සියල්ල සිදුවෙමින් තිබියදී යමෙකු සංකල්පය එන්ටර්ප්‍රයිස් ජාවා බෝංචි ලෙස හැඳින්වීය. මේවා ... වෙනස්. සමස්ත බීන් සංකල්පය තමන්ට නොතේරෙන බව බොහෝ දෙනෙකුට හැඟී ඇති අතර එම පදය භාවිතා කිරීම නැවැත්වීමට තරම් ඒවා සංකීර්ණ වේ. මෙය, මම සිතන්නේ, ඔබ සාමාන්‍යයෙන් බෝංචි ලෙස හඳුන්වන්නේ POJO ලෙසිනි (සෑම ජාවා වස්තුවක්ම POJO එකක් බැවින් මෙය තාක්‍ෂණිකව හරි ය, නමුත් යමෙකු POJO යැයි ඇසූ විට ඔවුන් බොහෝ විට සිතන්නේ බෝංචි රටාව අනුගමනය කරන දෙයක් ගැන ය)



3

ජාවා බෝංචි යනු පහත දැක්වෙන නිර්ණායක තුන සපුරාලන ඕනෑම ජාවා පන්තියකි:

  1. එය අනුක්‍රමික අතුරු මුහුණතක් (මාකර් අතුරුමුහුණතක්) ක්‍රියාත්මක කළ යුතුය.
  2. ඉදිකිරීම්කරු පොදු විය යුතු අතර කිසිදු තර්කයක් නොතිබිය යුතුය (වෙනත් අය "නො-ආර්ග් ඉදිකිරීම්කරුවෙකු" ලෙස හඳුන්වන්නේ).
  3. එයට ගෙටර් සහ සෙටර්ස් තිබිය යුතුය.

වස්තු තත්වය පවත්වා ගැනීම සඳහා serialVersionUID ක්ෂේත්‍රය වැදගත් බව සටහන් කිරීම හොඳය. පහත කේතය බෝංචි ලෙස සුදුසුකම් ලබයි:

public class DataDog implements java.io.Serializable {

private static final long serialVersionUID = -3774654564564563L;

private int id;
private String nameOfDog;

//The constructor should NOT have arguments
public DataDog () {}


/** 4. getter/setter */

// getter(s)
public int getId() {
    return id;
}
public String getNameOfDog() {
    return nameOfDog;
}
// setter(s)
public void setId(int id) {
    this.id = id;
}
public void setNameOfDog(String nameOfDog) {
    this.nameOfDog = nameOfDog;
}}

2

ජාවාබීන් අවබෝධ කර ගැනීම සඳහා ඔබ පහත සඳහන් දෑ සැලකිල්ලට ගත යුතුය: ජාවාබීන් යනු සංකල්පීය දෙයක් වන අතර විශේෂිත දේවල පන්තියක් නියෝජනය කළ නොහැක

ජාවාබීන් යනු නැවත භාවිතා කළ හැකි මෘදුකාංග සංරචක ක්‍රියාත්මක කිරීමේදී දෘශ්‍යමාන කළ හැකි සංවර්ධන මෙවලමකි

ජාවාබීන් සන් ජාවාබීන්ස් පිරිවිතර මත පදනම් වූ අතර නැවත භාවිතා කළ හැකි සංරචක විය හැකිය. එහි විශාලතම ලක්ෂණය වන්නේ නැවත භාවිතා කිරීමේ හැකියාවයි.


1

බෝංචි යනු ජාවා පන්තියක් වන අතර එය ගුණාංග , ක්‍රම සහ සිදුවීම් සඳහා ජාවා බෝංචි මාර්ගෝපදේශ (සැලසුම් රටා ලෙසද හැඳින්වේ) අනුගමනය කරයි.. මේ අනුව, දේපල අර්ථ දැක්වීමේ කොටසක් නොවන බෝංචි පන්තියේ ඕනෑම පොදු ක්‍රමයක් බෝංචි ක්‍රමයකි. අවම වශයෙන්, එකම සාමාජිකයෙකු ලෙස දේපළක් සහිත ජාවා පංතියක් (ඇත්ත වශයෙන්ම, මහජන මුදල් ලබා ගන්නා තැනැත්තා සහ නියමුවා අවශ්‍ය වේ), එකම සාමාජිකයා ලෙස පොදු ක්‍රමයක් හෝ එක් පොදු සිදුවීම් සවන්දෙන්නන් ලියාපදිංචි කිරීමේ ක්‍රමයක් ජාවා බෝංචි වේ. තවද, දේපල කියවීමට පමණක් ඇති දේපල විය හැකිය (ලබා ගැනීමේ ක්‍රමයක් ඇත, නමුත් සැකසීමක් නැත) හෝ ලිවීමට පමණක් ඇති දේපල (සැකසුම් ක්‍රමයක් ඇත). ඕනෑම බෝංචි මෙවලමකට හෝ බහාලුමකට දෘශ්‍යමාන වීමට ජාවා බෝංචි පොදු පන්තියක් විය යුතුය. කන්ටේනරය එය ක්ෂණිකව කිරීමට හැකි විය යුතුය; මේ අනුව, එයට පොදු ඉදිකිරීම්කරුවෙකු ද සිටිය යුතුය. මෙම JavaBeans පිරිවිතරකන්ටේනරයක් සවි කිරීම සඳහා බෝංචි සඳහා පොදු ශුන්‍ය-ආග්ස් ඉදිකිරීම්කරුවෙකු, පැහැදිලි හෝ පෙරනිමියක් අවශ්‍ය නොවේ. අනුක්‍රමික නිදසුනක් සහිත ගොනුවක් (දිගුව .ser සමඟ) ඔබට ලබා දිය හැකි නම්, බෝංචි පෙට්ටියකට එම ගොනුව මූලාකෘති බෝංචි ක්ෂණිකව ක්‍රියාත්මක කිරීමට භාවිතා කළ හැකිය. එසේ නොමැති නම්, බෝංචි වල පැහැදිලි හෝ පෙරනිමියෙන් පොදු ශුන්‍ය-ආර්ග් ඉදිකිරීම්කරුවෙකු සිටිය යුතුය.

බෝංචි ක්ෂණික වූ පසු, ජාවා බීන් ඒපීඅයි (java.beans. *) හට එය ස්වයං විග්‍රහ කර එය මත ක්‍රමවේදයන් ඇමතිය හැකිය. බීන්ඉන්ෆෝ අතුරුමුහුණත ක්‍රියාත්මක කිරීම හෝ බීන්ඉන්ෆෝ ක්‍රියාත්මක කිරීම, සිම්පල් බීන්ඉන්ෆෝ පංතිය ලබා ගත නොහැකි නම්, අභ්‍යන්තර පරීක්‍ෂණයට ඉලක්කගත බෝංචි ආධාරක ක්‍රම අධ්‍යයනය කිරීම සඳහා පරාවර්තනය (ව්‍යංගික ස්වයං පරීක්‍ෂණය) භාවිතා කිරීම අවශ්‍ය වන අතර ඉන් පසුව අඩු කිරීම සඳහා සරල මෝස්තර රටා (මාර්ගෝපදේශ) යොදන්න. එම ක්‍රම මගින් ගුණාංග, සිදුවීම් සහ පොදු ක්‍රම සඳහා සහය දක්වයි. අතුරු මුහුණත ක්‍රියාත්මක කරන පංතියක් බීන් ඉන්ෆෝ (බෝංචි ෆූ සඳහා, එය ෆූබීන්ඉන්ෆෝ ලෙස නම් කළ යුතුය) තිබේ නම්, ඒපීඅයි විසින් ව්‍යාජ ස්වයං විචාරය මග හැර පොදු ක්‍රම භාවිතා කරයි (getPropertyDescriptor (), getMethodDescriptors (), getEventSetDescriptors ()) විස්තර. SimpleBeanInfo දක්වා විහිදෙන පන්තියක් තිබේ නම්, SimpleBeanInfo පොදු ක්‍රම (getPropertyDescriptor (), getMethodDescriptors (), getEventSetDescriptors ()) අභිබවා ගොස් ඇති දේ මත පදනම්ව, එය තොරතුරු ලබා ගැනීම සඳහා එම ඉක්මවා ගිය ක්‍රම (ය) භාවිතා කරනු ඇත; අභිබවා නොයන ක්‍රමයක් සඳහා, එය අනුරූපී අභ්‍යන්තර පරීක්‍ෂණයට පෙරනිමිය. බෝංචි කිසිදු ආකාරයක අභ්‍යන්තර පරීක්‍ෂණයක් සිදු නොකලත් එය කෙසේ හෝ ක්ෂණිකව ක්ෂණිකව කළ යුතුය. මේ අනුව, පොදු zeri-args ඉදිකිරීම්කරුවෙකුගේ අවශ්‍යතාවය. එහෙත්, ඇත්ත වශයෙන්ම, එය හඳුනා ගැනීම සඳහා අනුක්‍රමික හෝ බාහිරකරණය කළ හැකි අතුරු මුහුණත අවශ්‍ය නොවේ. කෙසේ වෙතත්, ජාවා බීන් පිරිවිතරයේ මෙසේ සඳහන් වේ, 'කුඩා බෝංචි වල පොදු තත්වය සඳහා එය ඉතා සුළු කාරණයක් වීමට අපි කැමතියි, එහි අභ්‍යන්තර තත්වය සුරැකීමට අවශ්‍ය වන අතර ඒ ගැන සිතීමට අකමැති.' එබැවින්, සියලු බෝංචි අනුක්‍රමික හෝ බාහිරකරණය කළ හැකි අතුරු මුහුණත ක්‍රියාත්මක කළ යුතුය. සමස්ත, ජාවාබීන්ස් පිරිවිතර බෝංචි යනු කුමක්ද යන්න පිළිබඳව දැඩි හා වේගවත් නොවේ. "ජාවාබීන්ස් සංරචක ලිවීම පුදුම සහගතය. ඔබට විශේෂ මෙවලමක් අවශ්‍ය නොවන අතර ඔබට කිසිදු අතුරු මුහුණතක් ක්‍රියාත්මක කිරීමට අවශ්‍ය නැත. බෝංචි ලිවීම යනු ඇතැම් කේතීකරණ සම්මුතීන් අනුගමනය කිරීම පමණි. ඔබ කළ යුත්තේ ඔබේ පන්තියේ පෙනුම පමණි බෝංචි - බෝංචි භාවිතා කරන මෙවලම් වලට ඔබේ බෝංචි හඳුනා ගැනීමට සහ භාවිතා කිරීමට හැකි වේ. සුළු වශයෙන්, පහත පන්තිය පවා ජාවා බෝංචි වේ,

public class Trivial implements java.io.Serializable {}

කියන්න, බෝංචි සාදන්නෙකුට පරාමිතීන් කිහිපයක් තිබේ. සමහර ඒවා සරල වර්ග යැයි සිතමු. ඔවුන්ට ලබා දිය යුතු වටිනාකම් කන්ටේනරය නොදැන සිටිය හැකිය; එය එසේ වුවද, එහි ප්‍රති ing ලය නැවත භාවිතා කළ නොහැක. එය අර්ථවත් විය හැක්කේ වසන්ත බෝංචි වල මෙන් පරිශීලකයාට විවරණ හෝ xml වින්‍යාස ගොනු කියවීමෙන් වින්‍යාස කිරීමට (අගයන් නියම කිරීමට) හැකි නම් පමණි. සමහර පරාමිතීන් පන්ති හෝ අතුරු මුහුණත් වර්ග යැයි සිතමු. නැවතත්, කන්ටේනරය එයට පැවරිය යුතු අගයන් නොදැන සිටිය හැකිය. එය අර්ථවත් කළ හැක්කේ පරිශීලකයාට විවරණ හෝ xml වින්‍යාස ගොනු මගින් වින්‍යාස කිරීමට (නිශ්චිත වස්තු නියම කිරීමට) හැකි නම් පමණි. කෙසේ වෙතත්, වසන්තයේ දී පවා (xml වින්‍යාස ලිපිගොනු හරහා), නිශ්චිත වස්තූන් (නූල් නම් සහිතව) ඉදිකිරීම් තර්ක සඳහා පැවරීම (ඉදිකිරීම් තර්ක වල ගුණාංග හෝ මූලද්‍රව්‍යය) ටයිප්සෙෆ් නොවේ; එය මූලික වශයෙන් සම්පත් එන්නත් කිරීම වැනි ය. වෙනත් වසන්ත බෝංචි (සමුපකාරක ලෙස හැඳින්වේ; ඉදිකිරීම්කරුවන්ගේ තර්ක මූලද්‍රව්‍යයක මූලද්‍රව්‍යය හරහා) යොමු කිරීම මූලික වශයෙන් පරායත්ත එන්නත් කිරීමකි. නිසැකවම, පරායත්තතාව (සහයෝගිතා බෝංචි) එන්නත් කරන ලද පරාමිතීන් සහිත ඉදිකිරීම්කරුවෙකු සිටිය හැකිය; එන්නත් කරන ලද පරායත්තතාවයට (ies) පරාමිතීන් සහිත ඉදිකිරීම්කරුවෙකු සිටිය හැකිය. මෙම තත්වය තුළ, අවසානයේදී, ඔබට බෝංචි පන්ති කිහිපයක් අවශ්‍ය වනු ඇත (උදා: MyBean.class) නව මයිබීන් () ඇමතීමෙන් කන්ටේනරයට ක්ෂණිකව කළ හැකි අතර එය ඉදිකිරීම්කරුවන් මත යැපුම් එන්නත් කිරීම මගින් අනෙක් සහයෝගී බෝංචි සෑදීමට පෙර - ඒ අනුව, අවශ්‍යතාවය බෝංචි පොදු ශුන්‍ය-ආර්ග් ඉදිකිරීම්කරු තිබිය යුතුය. කන්ටේනරයක් පරායත්ත එන්නත් කිරීම සඳහා සහය නොදක්වන්නේ නම් සහ / හෝ වසන්තයේ දී මෙන් සමහර විවරණ හෝ එක්ස්එම්එල් වින්‍යාස ගොනු හරහා සරල ආකාරයේ අගයන් ඉදිකිරීම්කරුට පැවරීමට ඉඩ නොදෙන්නේ නම්, බෝංචි සාදන්නන්ට පරාමිතීන් නොතිබිය යුතුය. ස්ප්‍රිං බෝංචි යෙදුමකට පවා පොදු ශුන්‍ය-ආග්ස් ඉදිකිරීම් කරුවෙකු වීමට සමහර බෝංචි අවශ්‍ය වේ (උදා: ඔබේ වසන්ත යෙදුමට ඉදිකිරීම් තර්ක ලෙස සරල වර්ග සමඟ බෝංචි නොමැති අවස්ථාවක).

ජේඑස්එෆ් කළමනාකරණය කළ බෝංචි වෙබ් බහාලුමක් තුළ ධාවනය වේ. ඒවා anManagedBean annotation සමඟ හෝ යෙදුම් වින්‍යාස සම්පත් ගොනුවක් සමඟ කළමනාකරණය කළ හැකිය- bean.xml. කෙසේ වෙතත්, එය සම්පත් එන්නත් කිරීම මගින් එන්නත් කිරීම සඳහා සහය දක්වයි (ටයිප්සෙෆ් නොවේ); ඉදිකිරීම්කරුවන්ට එන්නත් කිරීම සඳහා සුදුසු නොවේ. මෙම JSF පිරිවිතරකළමනාකරණය කළ බෝංචි වලට පොදු ශුන්‍ය-තර්ක සාදන්නන් සිටිය යුතුය. “මෙම පිරිවිතරයේ 2.3 අනුවාදය අනුව, මෙම කොටසේ දක්වා ඇති පරිදි කළමනාකරණ බෝංචි පහසුකම භාවිතා කිරීම දැඩි ලෙස අධෛර්යමත් කරනු ලැබේ. JSR-365 හි නිශ්චිතව දක්වා ඇති පරිදි එකම ගැටළුව විසඳීම සඳහා වඩා හොඳ හා වඩා සංයුක්ත ලෙස ඒකාබද්ධ වූ විසඳුමක් වන්නේ සන්දර්භය සහ යැපුම් එන්නත් කිරීම (CDI) භාවිතා කිරීමයි. ”වෙනත් වචන වලින් කිවහොත්, CDI කළමනාකරණය කළ බෝංචි භාවිතා කළ යුතු අතර එමඟින් ඉදිකිරීම්කරුවන්ට සමාන ආකාරයේ යැපුම් එන්නත් ලබා දේ. සීඩීඅයි පිරිවිතරයන් කළමනාකරණය කළ බෝංචි පිරිවිතරයන් අනුගමනය කරයි, එය වෙබ් ස්ථරයට පමණක් නොව ජේඊඊ වේදිකාවේ සියලුම බහාලුම්වලට අදාළ වේ.එම නිසා වෙබ් බහාලුමට සීඩීඅයි පිරිවිතර ක්‍රියාත්මක කළ යුතුය.

කළමනාකරණ බීන් පිරිවිතරයෙන් උපුටා ගැනීමක් මෙන්න “කළමණාකරන බෝංචි යනු අවම අවශ්‍යතා සහිත බහාලුම්-කළමනාකරණය කරන ලද වස්තූන් වන අතර වෙනත් ආකාරයකින්“ POJOs ”(සරල පැරණි ජාවා වස්තු) යන අක්ෂර මාලාව යටතේ හැඳින්වේ… ඒවා ජාවා SE වේදිකාවේ දක්නට ලැබෙන ජාවාබීන්ස් සංරචක ආකෘතියේ ජාවා ඊඊ වේදිකාව වැඩි දියුණු කළ අනුවාදයක් ලෙස දැකිය හැකිය. …. කළමනාකරණය කළ බෝංචි ජාවා සර්වර් ෆේස් (ජේඑස්එෆ්) තාක්‍ෂණයෙන් සොයාගත් සමජාතීය පහසුකමෙහි පූර්වගාමියා බව පා er කයාට මග හැරෙන්නේ නැත… මෙම පිරිවිතරයේ අර්ථ දක්වා ඇති පරිදි කළමනාකරණය කළ බෝංචි, ජේඑස්එෆ් හි සොයාගත් ඒවා සාමාන්‍යකරණය කිරීම නියෝජනය කරයි; කළමනාකරණය කළ බෝංචි වෙබ් මොඩියුලවල පමණක් නොව ජාවා ඊඊ යෙදුමක ඕනෑම තැනක භාවිතා කළ හැකිය. නිදසුනක් ලෙස, මූලික සංරචක ආකෘතියේ, කළමනාකරණය කළ බෝංචි තර්ක රහිත ඉදිකිරීම්කරුවෙකු සැපයිය යුතුය, නමුත් සීඩීඅයි (ජේඑස්ආර් -299) වැනි කළමණාකරන බෝංචි මත ගොඩනඟන පිරිවිතර, මනාව නිර්වචනය කරන ලද නීති රීති අනුගමනය කරන තාක් කල්, එම අවශ්‍යතාවය ලිහිල් කිරීමට සහ කළමණාකරන බෝංචිවලට ඉදිකිරීම්කරුවන්ට වඩාත් සංකීර්ණ අත්සන් ලබා දීමට ඉඩ දිය හැකිය ... කළමනාකරණය කළ බෝංචි නොවිය යුතුය: අවසාන පන්තියක්, වියුක්ත පන්තියක්, ස්ථිතික නොවන අභ්‍යන්තර පන්තියක් . සාමාන්‍ය ජාවාබීන් සංරචකයක් මෙන් නොව කළමනාකරණය කළ බෝංචි අනුක්‍රමික කළ නොහැක. ” මේ අනුව, කළමණාකරන බෝංචි සඳහා පිරිවිතර, වෙනත් ආකාරයකින් POJOs හෝ POJO බෝංචි ලෙස හැඳින්වේ, CDI හි මෙන් දීර් extension කිරීමට ඉඩ ලබා දේ.

සීඩීඅයි පිරිවිතරයෙන් කළමනාකරණය කළ බෝංචි නැවත අර්ථ දක්වන්නේ: ජාවා ඊඊ හි ධාවනය වන විට, ඉහළ මට්ටමේ ජාවා පන්තියක් යනු අවශ්‍යතා සපුරාලන්නේ නම් කළමනාකරණය කළ බෝංචි ය:

• එය අභ්‍යන්තර පන්තියක් නොවේ. • එය වියුක්ත නොවන පන්තියකි, නැතහොත් විවරණය කර ඇත ec සැරසිලි කරන්නා. • එය javax.enterprise.inject.spi.Extension ක්‍රියාත්මක නොකරයි. • එය විවරණය කර නැත et වීටෝඩ් හෝ විවරණය කළ පැකේජයක් @ වීටෝඩ්. • එයට සුදුසු ඉදිකිරීම්කරුවෙකු ඇත, එක්කෝ: පන්තියට පරාමිතීන් නොමැති ඉදිකිරීම්කරුවෙකු සිටී, නැතහොත් පංතිය විසින් ව්‍යාඛ්‍යාන විවරණය කර ඇති බව ප්‍රකාශ කරයි n ඉන්ජෙක්ට්.

මෙම කොන්දේසි සපුරාලන සියලුම ජාවා පංති කළමනාකරණය කළ බෝංචි වන අතර එබැවින් කළමනාකරණ බෝංචි අර්ථ දැක්වීම සඳහා විශේෂ ප්‍රකාශයක් අවශ්‍ය නොවේ. හෝ

එය වෙනත් ජාවා ඊඊ පිරිවිතරයකින් කළමනාකරණය කළ බෝංචි ලෙස අර්ථ දක්වා ඇත්නම් සහ නම්

• එය EJB සංරචක නිර්වචනය කරන ලද විවරණයකින් විවරණය කර හෝ ejb-jar.xml හි EJB බෝංචි පන්තියක් ලෙස ප්‍රකාශයට පත් නොකෙරේ.

ස්ප්‍රිං බෝංචි මෙන් නොව එය සරල වර්ගවල ඉදිකිරීම්කරුවන්ට සහාය නොදක්වයි, එය වසන්තයේ හෝ වෙනත් විවරණයන් වැනි xml වින්‍යාස ගොනු සමඟ වින්‍යාස කිරීමට සහය දක්වන්නේ නම් විය හැකිය.

EJBs EJB බහාලුමක් තුළ ධාවනය වේ. එහි පිරිවිතරසැසි බෝංචි සංරචකය යනු කළමණාකරන ලද බෝංචි ය. SessionBean අතුරුමුහුණත හෝ අනුක්‍රමික කළ හැකි අතුරු මුහුණත ක්‍රියාත්මක කිරීමට අවශ්‍ය නොවේ. ” ජේඑස්එෆ් බෝංචි මෙන් ම, ඊජේබී 3 පරායත්ත එන්නත් මූලික වශයෙන් සම්පත් එන්නත් කිරීමක් වන අතර, ජේඑස්එෆ් බෝංචි ඉදිකිරීම්කරුවන්ට තර්ක සමඟ සහාය නොදක්වයි, එනම් පරායත්ත එන්නත් කිරීමෙනි. කෙසේ වෙතත්, ඊජේබී බහාලුම සීඩීඅයි ක්‍රියාත්මක කරන්නේ නම්, “විකල්පයක් ලෙස: පන්තියට තිබිය හැකිය එන්නත් විවරණය සමඟ විවරණය කර ඇති අතිරේක ඉදිකිරීම්කරු, “එය සැසි බෝංචි සහ පණිවුඩ මත පදනම් වූ බෝංචි යන දෙකටම කියනුයේ,“ ඊජේබී සීඩීඅයි බෝංචි ලේඛනාගාරයකට ඇසුරුම් කර ඇති අතර එය ජාවාක්ස්.එන්ටර්ප්‍රයිස්.ඉන්ජෙක්ට් සමඟ විවරණය නොකෙරේ. බෝංචි. ”


0

ප්‍රායෝගිකව, බෝංචි යනු භාවිතයට පහසු වස්තු පමණි. ඒවා අනුක්‍රමික කිරීම යනු ඒවා දිගටම පවත්වා ගැනීමට හැකිවීමයි (පහසුවෙන් නැවත ලබා ගත හැකි ආකාරයෙන් ගබඩා කරන්න).

තථ්‍ය ලෝකයේ බෝංචි වල සාමාන්‍ය භාවිතයන්:

  • සරල නැවත භාවිතා කළ හැකි වස්තූන් POJO (සරල පැරණි ජාවා වස්තු)
  • දෘශ්‍ය වස්තු
  • වසන්තය හැසිරවීමට වස්තූන් සඳහා බෝංචි භාවිතා කරයි (නිදසුනක් ලෙස, සැසියේදී අනුක්‍රමික කළ යුතු පරිශීලක වස්තුව)
  • ඊඑස්බී (එන්ටර්ප්‍රයිස් ජාවා බෝංචි), ජේඑස්එෆ් බෝංචි (ජේඑස්එෆ් පැරණි යල්පැනගිය තාක්‍ෂණයකි) හෝ ජේඑස්පී බෝංචි වැනි වඩාත් සංකීර්ණ වස්තු

එබැවින් ඇත්ත වශයෙන්ම, බෝංචි යනු ජාවා වස්තුවකින් යම් දෙයක් අපේක්ෂා කරන (අනුක්‍රමිකකරණය) අපේක්ෂා කරන සම්මුතියක් / ප්‍රමිතියක් පමණක් වන අතර එය යම් ආකාරයකින් වෙනස් කිරීමට (දේපල සඳහා සැකසුම් ) ක්‍රම කිහිපයක් ලබා දෙයි.

ඒවා භාවිතා කරන්නේ කෙසේද, එය ඔබගේ නව නිපැයුම පමණි, නමුත් මම ඉහත ලැයිස්තුගත කළ වඩාත් පොදු අවස්ථා.


0

POJO (සරල පැරණි ජාවා වස්තුව): - POJO යනු සාමාන්‍ය ජාවා වස්තුවකි, ජාවා භාෂාවෙන් බල කරන ඒවා හැර වෙනත් කිසිදු තහනමක් නොමැත.

අනුක්‍රමිකකරණය: - එය වස්තුවක තත්වය සුරැකීමට සහ ජාලයක් හරහා යැවීමට භාවිතා කරයි. එය වස්තුවක තත්වය බයිට් ප්‍රවාහයක් බවට පරිවර්තනය කරයි. Deserialization නම් ක්‍රියාවලිය මගින් අපට ජාවා වස්තුව බයිට් ප්‍රවාහයෙන් ප්‍රතිනිර්මාණය කළ හැකිය.

ඔබේ පන්තිය java.io.Serializable අතුරුමුහුණත ක්‍රියාත්මක කරන්න. අනුක්‍රමික අනුක්‍රමණය කිරීම සඳහා ObjectOutputStream පන්තියේ writeObject () ක්‍රමය භාවිතා කරන්න.

ජාවාබීන් පංතිය: - එය විශේෂ POJO එකක් වන අතර එය යම්කිසි සීමා කිරීමක් (හෝ සම්මුතියක්) ඇත. 1. අනුක්‍රමිකකරණය ක්‍රියාත්මක කිරීම 2. පොදු නො-ආර්ග් ඉදිකිරීම්කරුවෙකු තබා ගන්න 3. සියලුම දේපල පොදු ලබා ගන්නන් සහ සැකසුම් ක්‍රම සමඟ පුද්ගලිකව.

බොහෝ රාමු - වසන්තය වැනි - ජාවාබීන් වස්තුව භාවිතා කරයි.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.