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 : 228 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 : 238 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 : 346 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 : 295 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 : 236 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 : 346 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 : 259 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 : 516 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 : 202 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...
Technology For Startup Growth

Kurus Tapi Kuat Makan Kenapa Ye

Siti Mastura Pays Rm830k Pending Appeal In Dap Leaders Defamation Case

Beli Emas Harga Kilang Dengan Orodesign

Mengapa Sholat Sebaiknya Dilakukan Di Awal Waktu

Kembali Bermain Robotika Dengan Arduino

Jom Makan Ikan Bakar Di Adrianna Ikan Bakar Sungai Dua Pulau Pinang

All The Android Updates Coming To The Samsung Galaxy S25 Series And More


echo '';
Biodata Putra Abdullah Atlet Muay Thai Boxing Malaysia Seangkatan Johan Ghazali Jojo Team Jordan Boy

Senarai Lagu Tugasan Konsert Minggu 10 Gegar Vaganza 2024 2025 Musim 11 Suku Akhir

Keputusan Markah Peserta Konsert Minggu 9 Gegar Vaganza 2024 2025 Musim 11

Info Dan Sinopsis Drama Berepisod Akad Yang Terlindung Slot Samarinda TV3

Senarai Lagu Tugasan Konsert Minggu 9 Gegar Vaganza 2024 2025 Musim 11


Perubahan Iklim Tingkatkan Risiko Ozon Paras Tanah Sebagai Pencemar Udara Sekunder

Tunai Haji Selesa Dengan Pakej Premium Mkm Travel

Bawang Besar

Pekerja Pelanggan Bergaduh Lempar Burger Aiskrim

Anwar Beri Impak Besar Pada Forum Wef

Siti Mastura Kemuka Rayuan Lebih Rm830 000 Diserah Ke Peguam