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.
 
Rumusan Ini 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.
Rujukan https://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

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
Benefits Of A Professional Sofa Upholstery Service In Kl

Benefits Of A Professional Sofa Upholstery Service In Kl

papar berkaitan - pada 9/11/2023 - jumlah : 210 hits
There are many benefits of engaging a professional sofa upholstery service in KL for your home or office A professional sofa upholstery service usually involves and replacing the part of your sofa that is damaged due to wear and tear over t...
National Service 3 0 Needs Deeper Thought Scrutiny

National Service 3 0 Needs Deeper Thought Scrutiny

papar berkaitan - pada 8/11/2023 - jumlah : 215 hits
ADUN SPEAKS In 2007 I was drafted to join the National Service programme in Kem Segari Manjung Perak Although I hated the idea at first I found PLKN rewarding enough that I considered joining the military However not all trainees experience...
Pas Persefahaman Keharmonian Antara Agama

Pas Persefahaman Keharmonian Antara Agama

papar berkaitan - pada 3/11/2023 - jumlah : 215 hits
Kelantan promosi toleransi terhadap agama lainKOTA BHARU Sejak era pentadbiran Allahyarham Tan Sri Tuan Guru Nik Aziz Nik Mat Kelantan serius mempromosikan sikap hormat dan toleransi terhadap agama agama lain Timbalan Menteri Besar Dato Dr ...
Tak Mahu Siakan Bakat Ini Antara 5 Pelakon Korea Bekerja Lebih 25 Tahun Dalam Industri

Tak Mahu Siakan Bakat Ini Antara 5 Pelakon Korea Bekerja Lebih 25 Tahun Dalam Industri

papar berkaitan - pada 3/11/2023 - jumlah : 245 hits
Tidak mudah bagi seseorang pelakon untuk sentiasa kekal berada di atas Hal ini kerana akan ada banyak pesaing baharu pada masa akan datang ARTIKEL BERKAITAN Kali ini KimchiDaily nak kongsikan 5 pelakon lelaki Korea yang sudah berkerja sebag...
Polis Budak 12 Tahun Antara 3 Wanita Mangsa Eksploitasi Seks

Polis Budak 12 Tahun Antara 3 Wanita Mangsa Eksploitasi Seks

papar berkaitan - pada 5/11/2023 - jumlah : 182 hits
Juwan Riduanbhnews bh com myKENINGAU Polis menyelamatkan tiga wanita termasuk kanak kanak berusia 12 tahun yang disyaki menjadi mangsa pemerdagangan manusia dan eksploitasi seks susulan penahanan tiga lelaki dalam dua serbuan berasingan kel...
Dive Into Excellence Miami Plumber S Guide To Quality Service

Dive Into Excellence Miami Plumber S Guide To Quality Service

papar berkaitan - pada 7/11/2023 - jumlah : 214 hits
Miami s warm beaches and lively culture create a city with its own unique rhythm Behind the scenes keeping the bustling city running smoothly is a tangled plumbing system If you re a Miami homeowner dealing with problems with your sink or p...
Plumbing In Miami Expertise Efficiency And Exceptional Service

Plumbing In Miami Expertise Efficiency And Exceptional Service

papar berkaitan - pada 7/11/2023 - jumlah : 245 hits
The sunny beaches of Miami and the vibrant culture make it a city with a distinct rhythm Behind the scenes what keeps the bustling city running smoothly is an intricate plumbing network It doesn t matter if you re a homeowner suffering from...
Samsung Malaysia Electronics Wins Brand And Service Experience Of The Year At Asian Experience Awards

Samsung Malaysia Electronics Wins Brand And Service Experience Of The Year At Asian Experience Awards

papar berkaitan - pada 29/10/2023 - jumlah : 247 hits
Samsung is always at the forefront of innovation and customer centric initiatives solidifying its position as a leading brand for Malaysian consumers Teng Kah Wee Head of Customer Satisfaction Samsung Malaysia Electronics receiving the awar...
Kali Pertama Di Malaysia Kim Sejeong Senyum Lebar Lihat Ragam Peminat Fan Service On Top

Kali Pertama Di Malaysia Kim Sejeong Senyum Lebar Lihat Ragam Peminat Fan Service On Top

papar berkaitan - pada 31/10/2023 - jumlah : 329 hits
Siapa je tak kenal dengan Kim Sejeong Seorang idol yang bermula daripada reality show Produce 101 dan kini menjadi aktris untuk K Drama popular seperti Business Proposal The Uncanny Counter School 2017 dan macam macam lagilah Buat pertamany...
Dapat Sample Free Pampers Dewasa

Ahli Parlimen Ditahan Selepas Didakwa Lakukan Serangan Seksual

Gopayz Tamat Operasi Pada 31 Mac 2025 Ini Tindakan Yang Perlu Diambil Pengguna

Empat Ditahan Dalangi 11 Kes Ragut

Milo Malaysia Breakfast Day 2025 Meraikan 75 Tahun Kebaikan Khasiat Bersama Lebih 35 000 Rakyat Malaysia Di Putrajaya

Cuti Raya China 2025

Shell Pulai Perdana 2 Livina

Resipi Sos Steamboat Ala Sukiya Mudah Sedap


echo '';
5 Undang Undang Aneh Berkait Bendera Kebangsaan di Seluruh Dunia

Benarkah Kajian Sains Membolehkan Gigi Manusia Tumbuh Selepas Hilang

4 Puncak Tertinggi Negara Dunia Yang Paling Ketot Saiznya

8 Barangan Unik Yang Dinamakan Sempena Nama Manusia

Biodata Mia Ghazali Atlet Muay Thai Adik Beradik Kepada Johan Ghazali Jojo Miki Elias


Tiga Warga Indonesia Cedera Dalam Kejadian Amuk Di Trusan

Pussy888 Top 34 By Margherita Pussy888fun Io 25 2025 68

Maulana Ardiansyah Alyssa Dezek Lebih Dari Rindu Chord

Cromok Fallen Heroes Chord

Adverse Weather Causes Shortage Of Coconuts For Thaipusam

Sabah Chief Minister Thanks Federal Govt For Rm25 Million Aid