බෝංචි යනු ජාවා පන්තියක් වන අතර එය ගුණාංග , ක්රම සහ සිදුවීම් සඳහා ජාවා බෝංචි මාර්ගෝපදේශ (සැලසුම් රටා ලෙසද හැඳින්වේ) අනුගමනය කරයි.. මේ අනුව, දේපල අර්ථ දැක්වීමේ කොටසක් නොවන බෝංචි පන්තියේ ඕනෑම පොදු ක්රමයක් බෝංචි ක්රමයකි. අවම වශයෙන්, එකම සාමාජිකයෙකු ලෙස දේපළක් සහිත ජාවා පංතියක් (ඇත්ත වශයෙන්ම, මහජන මුදල් ලබා ගන්නා තැනැත්තා සහ නියමුවා අවශ්ය වේ), එකම සාමාජිකයා ලෙස පොදු ක්රමයක් හෝ එක් පොදු සිදුවීම් සවන්දෙන්නන් ලියාපදිංචි කිරීමේ ක්රමයක් ජාවා බෝංචි වේ. තවද, දේපල කියවීමට පමණක් ඇති දේපල විය හැකිය (ලබා ගැනීමේ ක්රමයක් ඇත, නමුත් සැකසීමක් නැත) හෝ ලිවීමට පමණක් ඇති දේපල (සැකසුම් ක්රමයක් ඇත). ඕනෑම බෝංචි මෙවලමකට හෝ බහාලුමකට දෘශ්යමාන වීමට ජාවා බෝංචි පොදු පන්තියක් විය යුතුය. කන්ටේනරය එය ක්ෂණිකව කිරීමට හැකි විය යුතුය; මේ අනුව, එයට පොදු ඉදිකිරීම්කරුවෙකු ද සිටිය යුතුය. මෙම 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 පරායත්ත එන්නත් මූලික වශයෙන් සම්පත් එන්නත් කිරීමක් වන අතර, ජේඑස්එෆ් බෝංචි ඉදිකිරීම්කරුවන්ට තර්ක සමඟ සහාය නොදක්වයි, එනම් පරායත්ත එන්නත් කිරීමෙනි. කෙසේ වෙතත්, ඊජේබී බහාලුම සීඩීඅයි ක්රියාත්මක කරන්නේ නම්, “විකල්පයක් ලෙස: පන්තියට තිබිය හැකිය එන්නත් විවරණය සමඟ විවරණය කර ඇති අතිරේක ඉදිකිරීම්කරු, “එය සැසි බෝංචි සහ පණිවුඩ මත පදනම් වූ බෝංචි යන දෙකටම කියනුයේ,“ ඊජේබී සීඩීඅයි බෝංචි ලේඛනාගාරයකට ඇසුරුම් කර ඇති අතර එය ජාවාක්ස්.එන්ටර්ප්රයිස්.ඉන්ජෙක්ට් සමඟ විවරණය නොකෙරේ. බෝංචි. ”