ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-23, Thursday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Maven මොඩියුලින් Spring Boot ආරක්‍ෂිත සෙට්-අප්: පේකේජ් පාලනය නොහැකි නම්

Maven මොඩියුලින් Spring Boot ආරක්‍ෂිත සෙට්-අප්: පේකේජ් පාලනය නොහැකි නම්

ඔබේ කණ්ඩායමට ඉක්මනින් කේත සමාලෝචනයක් කළාම, REST controller එකක් තුළ EntityManager සෘජුව ඇතුළත් කර, raw SQL ලිව්වා හෝ Pageable භාවිතා කර Page<Entity> එකක් frontend වෙත එවලා දත්ත ආකෘතිය සම්පූර්ණයෙන්ම හෙළා දැමුවාද? එවැනි ක්‍රියා මඟින් ඔබේ දත්ත ආකෘතිය පූර්ණයෙන්ම ලෝකයට හෙළා දෙන අතර, Anti‑Corruption Layer (ACL) සංකල්පයද අඩු කරයි.

අපි පේකේජ් (.controller, .service, .repository) මත පදනම්ව ආරක්ෂිත ව්‍යුහයක් ඇති බවට විශ්වාස කළා. නමුත් Java පේකේජ් දෘශ්‍යතාවය කෙටි කාලීන අවශ්‍යතා හේතුවෙන් අඩුපාඩු පාලනයක් නොකරයි. ඒ නිසා, කේතය සංකීර්ණ වන තුරු, නවක සංවර්ධකයන් හෝ ආතතියට පත් වූ අය පසුබැසීමක් නොකර ආරක්‍ෂිත නීති උල්ලංඝනය කරයි.

අපේ විසඳුම මොඩියුලර් Maven ව්‍යුහයක් ගොඩනැගීමයි. පළමුව API contract එක වෙනම Git repository එකකට ගෙන ගොස්, එය backend ක්‍රියාත්මක කිරීමෙන් තනිවම version කළා. එවිට frontend, QA කණ්ඩායම් එකම contract එකට යොමු විය, අපේ අභ්‍යන්තර refactorings වලින් එය බලපාන්නේ නැත.

ඊළඟට, backend ප්‍රධාන ව්‍යාපෘතියේ කොටස් වශයෙන් විශේෂිත Maven මොඩියුල 7-8ක් නිර්මාණය කළා:

  • domain – Framework‑රහිත domain models සහ core logic
  • business-logic – Core business logic, dao‑api සහ bridge‑api මත පමණක් නිර্ভරය
  • dao-api – දත්ත සමුදා ප්‍රවේශ අතුරුමුහුණත්, JPA නොමැතිව
  • dao-impl – Spring Data JPA, Hibernate ඇතුළත් ඉදිරිපත් කිරීම
  • bridge-api – බාහිර සේවා අතුරුමුහුණත්
  • bridge-impl – බාහිර API සමඟ සැබෑ සම්බන්ධතාව
  • integration-tests – Testcontainers (Docker) මත පදනම් වූ පරීක්ෂණ
  • application – Spring Boot Bootstrapper

මෙම ව්‍යුහයේ business-logic මොඩියුලය dao‑api සහ bridge‑api අතුරුමුහුණත් පමණක් භාවිතා කරයි. එයට dao‑impl හෝ bridge‑impl මොඩියුල වලට ප්‍රවේශය නොමැත, ඒ නිසා Spring Data JPA, Hibernate, Kafka වැනි framework‑වල classpath එකේ ඇතුළත් නොවේ.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ තරුණ සංවර්ධකයින්ට මේ ආකාරයේ මොඩියුලර් ව්‍යුහය ඉගෙන ගැනීමෙන්, කේත ගුණාත්මකභාවය, පරීක්ෂණ හැකියාව, සහ සංවර්ධන කාලය කෙටි කිරීමේ හැකියාව වැඩි වේ. ව්‍යාපාරික පැතිවල, Maven මගින් ආර්කිතෙක්චර නීති compile‑time දෝෂ ලෙස පෙන්වීම නිසා, code review කාලය අඩුවේ, දෝෂ පසුබැසීමක් අඩු වේ. එමෙන්ම, API contract එක වෙනම repository එකකට ගෙන යාමෙන්, frontend සහ backend කණ්ඩායම් අතර versioning ගැටළුවක් නොමැතිව, නිෂ්පාදන වේගය වැඩි වේ.

අවසන් වශයෙන්, Maven මොඩියුල භාවිතයෙන් ආර්කිතෙක්චර නීති උල්ලංඝනය කළාම build එක බිඳී යයි. එය developer එකට ස්වයංක්‍රීය red flag එකක් වීම නිසා, කේත ගුණාත්මකභාවය තවත් ශක්තිමත් වේ.

ඔබත් Maven මොඩියුල සමඟ Spring Boot ව්‍යාපෘතියක් ගොඩනඟා, ආර්කිතෙක්චරය compile‑time ආරක්ෂාවක් ලබා ගන්න.

💡 ඔබේ කණ්ඩායමට Maven මොඩියුලින් ආරක්ෂිත ආර්කිතෙක්චරයක් ගොඩක් කරමු!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#SpringBoot #Maven #Architecture #Java #DevOps