Perbezaan Di Antara Component Service Controller Dan Repository Dalam Spring Framework


Sebelum mengetahui perbezaan di antara @Component, @Service, @Controller, dan @Repository annotations dalam Spring framework, adalah penting untuk kita memahami peranan @Component annotation dalam Spring.
Pada permulaan Spring, semua beans diisytiharkan dalam satu XML file. Ia agak berserabut dalam projek besar dan Spring mengetahui masalah ini. Pada versi seterusnya Spring memperkenalkan annotation-based dependency injection dan Java-based configuration.
Sejak Spring 2.5 annotation-based dependency injection diperkenalkan di mana Spring bean diimbas dan didaftarkan secara automatik menggunakan @Component annotation pada class.
Ini bermakna tidak perlu lagi isytiharkan bean menggunakan tag <bean> dan inject dependency, sebaliknya semuanya dilakukan secara automatik. Fungsi ini dihidupkan dan dimatikan menggunakan tag <context:component-scan>.
Apa @Service, @Controller, and @Repository annotation buat?Mereka adalah bentuk khusus buat @Component annotation untuk situasi tertentu. Kita tak gunakan @Component untuk controller class dalam Spring MVC, sebaliknya kita guna @Controller yang lebih mudah difahami dan sesuai.
Menggunakan @Controller annotation kita lakukan dua benda iaitu kita isytiharkan class ini adalah sejenis Spring bean yang patut dijana dan diurus oleh Spring ApplicationContext, dan kita mengisytiharkan bahawa class ini adalah sejenis controller dalam setup MVC (yang akan digunakan oleh fungsi-fungsi dan tools khusus buat web).
Contohnya DispatcherServlet akan mencari @RequestMapping dalam classes yang ditandakan menggunakan @Controller tetapi tidak dalam @Component.
Ini bermakna @Component dan @Controller adalah sama untuk penghasilan bean dan dependency injection cuma @Controller adalah bentuk khusus buat @Component. Jika kita gantikan @Controller annotation dengan @Compoenent, Spring boleh kesan dan daftar controller class itu secara automatik tetapi ia takkan bekerja seperti yang diharapkan apabila berkaitan dengan request mapping.
Serupa juga dengan @Service annotation dan @Repository annotation, mereka adalah bentuk khusus @Component untuk service layer dan persistence layer. Spring bean dalam service layer patut ditandakan sebagai @Service bukannya @Component annotation dan spring bean dalam persistence layer patut ditandakan dengan @Repository annotation.
Menggunakan annotation khusus kita menyelam sambil minum air. Pertama, mereka akan dilayan sebagai Spring bean dan kedua kita boleh letak kelakuan khusus yang diperlukan oleh layer tersebut.
Contohnya @Repository tidak hanya membantu dalam tetapan berasaskan annotation tetapi juga akan menangkap Platform specific exceptions dan mencampak mereka sebagai satu Spring unchecked exception.
Kita juga harus umumkan org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor sebagai Spring bean dalam application context.
Bean post processor tersebut akan menambah advisor kepada semua bean yang ditandakan dengan @Repository supaya semua platform-specific exceptions ditangkap dan dicampak sebagai Spring unchecked data access exceptions.
Bagaimana Component Scanning berlaku dalam Spring?Sejak Spring 2.0, Spring sediakan <context:component-scan> dan annotation-driven dependency injection untuk kesan dan daftar Spring bean tanpa perlu isytiharkan mereka dalam XML file.
Tetapi secara umumnya ia hanya kesan @Component dan tidak mencari @Controller, @Service dan @Repository. Mereka diimbas kerana mereka ditandakan sebagai @Component.
Cuba perhatikan pada definisi @Controller, @Service, dan @Repository annotation:
@Component
public @interface Service {
….
}
@Component
public @interface Repository {
….
}
@Component
public @interface Controller {

}
Jadi tidak salah untuk kita katakan bahawa @Controller, @Service, dan @Repository adalah jenis khusus daripada @Component annotation. <context:component-scan> akan kutip mereka dan daftar mereka sebagai beans sama seperti apabila mereka ditandakan sebagai @Component.
Mereka dikesan kerana mereka sendiri ditandakan dengan @Component annotation. Jika kita buat custom annotation dan tandakannya dengan @Component, ia juga akan dikesan oleh <context:component-scan>.
Boleh baca lebih lanjut mengenai dependency injection (suntikan kebergantungan), auto-wiring dan pelbagai bentuk konfigurasi dalam Spring seperti menggunakan XML based, annotation dan Java configuration.
 
RumusanIni adalah rumusan mengenai @Component, @Service, @Controller, dan @Repository annotation dalam Spring Framework:
@Component adalah stereotype umum untuk semua component atau bean yang diurus Spring. @Repository adalah stereotype untuk persistence layer yang menguruskan capaian data.@Service adalah stereotype untuk service layer yang menyimpan business logic.@Controller adalah stereotype untuk presentation layer (Spring-MVC).Secara ringkasnya: gunakan annotation paling sesuai berdasarkan layer yang diduduki oleh class tersebut.
Rujukanhttps://javarevisited.blogspot.com/2017/11/difference-between-component-service.html

Artikel ini hanyalah simpanan cache dari url asal penulis yang berkebarangkalian sudah terlalu lama atau sudah dibuang :

http://www.interpretzz.com/2020/04/perbezaan-di-antara-component-service.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Interpretzz+%28interpretZZ%29

Kempen Promosi dan Iklan
Kami memerlukan jasa baik anda untuk menyokong kempen pengiklanan dalam website kami. Serba sedikit anda telah membantu kami untuk mengekalkan servis percuma aggregating ini kepada semua.

Anda juga boleh memberikan sumbangan anda kepada kami dengan menghubungi kami di sini
Kebenaran Operasi Gunting Rambut Bukti Jurang Antara Menteri Dengan Rakyat

Kebenaran Operasi Gunting Rambut Bukti Jurang Antara Menteri Dengan Rakyat

papar berkaitan - pada 12/4/2020 - jumlah : 188 hits
MA AYSIAKINI Keputusan kerajaan untuk membenarkan kedai gunting rambut dan beroperasi semula sepanjang tempoh perintah kawalan pergerakan mencerminkan jurang antara kabinet dengan orang awam kata pemimpin veteran DAP Lim Kit Siang Episod ke...
Ciri Drag And Drop Rentas Platform Kini Boleh Dilakukan Antara Peranti Windows Dan Samsung

Ciri Drag And Drop Rentas Platform Kini Boleh Dilakukan Antara Peranti Windows Dan Samsung

papar berkaitan - pada 13/4/2020 - jumlah : 204 hits
Pada Februari lalu ciri salin dan tampal rentas platform yang membolehkan kandungan dari peranti Android ditampal ke peranti Windows 10 diberikan kepada Samsung Galaxy S20 S20 S20 Ultra dan Z Flip menerusi aplikasi Your Phone Aplikasi Your ...
Kadar Kesembuhan Covid 19 Di Malaysia Antara Yang Tertinggi Di Dunia

Kadar Kesembuhan Covid 19 Di Malaysia Antara Yang Tertinggi Di Dunia

papar berkaitan - pada 13/4/2020 - jumlah : 306 hits
Meskipun tempoh Perintah Kawalan Pergerakan dilajutkan namun ramai sudah boleh menarik nafas lega apabila Malaysia mencatatkan kadar kesembuhan 45 peratus menjadikan Malaysia antara negara dengan kadar kesembuhan tertinggi di dunia Dimana k...
Antara Artis Melayu Dgn Ketua Pemuda Mca

Antara Artis Melayu Dgn Ketua Pemuda Mca

papar berkaitan - pada 12/4/2020 - jumlah : 249 hits
MOHD ZULAIMI KAZINSemasa Pengunguman Kali Pertama Bantuan Perihatin adalah beberapa artis melayu menyuarakan nasib mereka yg tidak disenaraikan Maka riuh rendah netizen melayu mengutuk dan menghina mereka selepas itu nereka minta maaf dan m...
Perintahkawalanpergerakan Kedai Gunting Rambut Dobi Antara 9 Sektor Yang Dibenar Beroperasi

Perintahkawalanpergerakan Kedai Gunting Rambut Dobi Antara 9 Sektor Yang Dibenar Beroperasi

papar berkaitan - pada 11/4/2020 - jumlah : 198 hits
Kerajaan mengumumkan pelonggaran sembilan industri untuk beroperasi sepanjang tempoh PKP termasuk perkhidmatan gunting rambut dan dobi Dalam satu kenyataan keputusan berkenaan diambil menerusi mesyuarat kabinet pada Rabu lalu Berikut adalah...
Ketua Pemuda Armada Antara 6 Ditahan Miliki Air Ketum

Ketua Pemuda Armada Antara 6 Ditahan Miliki Air Ketum

papar berkaitan - pada 11/4/2020 - jumlah : 305 hits
Tapah Ketua pemuda sebuah parti politik antara enam individu yang ditahan memiliki air ketum dalam satu serbuan di sebuah rumah di Bidor Jaya semalam Kesemua lelaki berusia lingkungan 22 hingga 45 tahun itu ditangkap sekitar jam 4 30 petang...
Posting Blog Menarik Antara Rok Mini Dan Baju Gamis

Posting Blog Menarik Antara Rok Mini Dan Baju Gamis

papar berkaitan - pada 11/4/2020 - jumlah : 223 hits
POSTING atau postingan adalah isi blog berupa teks dan atau foto video podcast Umumnya blogger mengisi blognya dengan konten artikel plus foto dan video Belakangan artikel panjang trending terkait SEO Katanya artikel panjang lebar alias kom...
Beza Antara Pengerusi Glc Dizaman Ph Cuba Anda Lihat Pengalaman Mereka

Beza Antara Pengerusi Glc Dizaman Ph Cuba Anda Lihat Pengalaman Mereka

papar berkaitan - pada 14/4/2020 - jumlah : 478 hits
Senarai Chairman Pengerusi GLC utama yang dilantik di bawah Pentadbiran PH 1 Petronas Datuk Ahmad Nizam SallehBeliau pernah menyandang jawatan sebagai Managing Director dam CEO Engen Ltd dan Vice President Corporate Services di Petronas Gas...
Antara Risiko Mendapat Jangkitan Covid 19 Ketika Memakai Glove

Antara Risiko Mendapat Jangkitan Covid 19 Ketika Memakai Glove

papar berkaitan - pada 14/4/2020 - jumlah : 159 hits
Mungkin tidak semua tahu bahawa penggunaan glove boleh menjadi punca untuk virus COVID 19 merebak Oleh yang demikian Ohmedia nak kongsi beberapa perkara yang berisiko untuk mendapat jangkitan dari penggunaan glove 1 Kurang Mencuci TanganDis...
Syafiq Kyle Transisi Dari Ustaz Adam Ke Meth Killer

Apa Jadi Serangan Balai Polis Johor S Pura Ini Komen Pas

Drama Mihrab Cinta Zulaikha Lakonan Elisya Sandha Azrel Ismail

Apa Itu Kwsp Akaun 3

15 Breathtaking Mediterranean Powder Room Ideas From Classic To Modern

Lirik Lagu Satu Selamanya Twins

Bercinta Ke Keluar Makan Malam Bersama Netizen Jumpa Kelibat Byun Wooseok Dalam Gambar Hyeri

Perbedaan Kartu Kredit Dan Kartu Debit



Info Dan Sinopsis Drama Berepisod Bunga Salju Slot Tiara Astro Ria

Info Dan Sinopsis Drama Berepisod Anggun Mikayla Viu Malaysia

Keputusan Markah Mingguan Senarai Lagu Tugasan The Hardest Singing Show Astro Malaysia

Biodata Syad Mutalib Pelakon Drama Berepisod Aku Bukan Ustazah TV3 Bunga Salju Astro Ria

Info Dan Sinopsis Filem Vina Sebelum 7 Hari 2024 Adaptasi Kisah Benar Kini Di Pawagam Malaysia


Aneh Lelaki Kahwini Ibu Mentua Selepas Kematian Isteri Dengan Restu Bapa Mentuanya

Weak Bersatu Could Cost Pas Votes If It Stays In Pn

Explaining Bumi Policy Uitmc V C Says 60pc Students In Bottom Income Group Because M40 Now Poorer

Tajuk Utama Minggu Ini Ytl Power Euforia Gabungan Axiata Inflasi Rendah Gdp 1q Wajib

Sijil Penyahsulanan Sirim Diperolehi Oleh Huawei Matepad 11 5 S

Ibu Bapa Sumbang 30 Bekas Pulut Semangat Meriahkan Hari Guru Smk Sri Aman