Di suatu tempat saya membaca Spring menawarkan kemudahan konfigurasi. Tetapi orang-orang Spring membawa begitu banyak perubahan atas konfigurasi, sehingga saya sekarang benar-benar bingung untuk menggunakan konfigurasi xml atau anotasi.
Saya ingin siapa pun menyarankan metodologi atau aturan praktis dalam menggunakan xml dan anotasi.
Contoh di SO menunjukkan bahwa banyak pemula seperti saya semakin bingung tentang konfigurasi.
-
Sepertinya saya tidak memahami fungsi di belakang
<context:annotation-config>
dan<context:component-scan>
.Dari apa yang saya baca mereka tampaknya menangani anotasi yang berbeda (@Required, @Autowired dll vs @Component, @Repository, @Service dll) tetapi juga dari apa yang saya baca mereka mendaftarkan kelas prosesor postingan kacang yang sama.
Yang lebih membingungkan saya, ada
annotation-config
atribut di<context:component-scan>
... -
Saya masih memiliki tag pemindaian komponen:
<context:component-scan base-package="com.mycompany.maventestwebapp" />
tapi saya juga punya tag lain (yang terlihat memiliki tugas serupa), yang ini:
<annotation-driven />
Apa perbedaan antara kedua tag ini? Hal "aneh" lainnya adalah bahwa contoh sebelumnya (yang tidak menggunakan tag yang digerakkan oleh anotasi) sangat mirip dengan proyek yang dibuat oleh STS menggunakan proyek Spring MVC Template tetapi jika saya menghapus tag yang digerakkan oleh anotasi dari konfigurasinya mengajukan proyek tidak berjalan dan beri saya kesalahan berikut: HTTP Status 404 - ...
Spring 3.2 tidak lagi membutuhkan cglib untuk proxy, tetapi versi yang lebih rendah menggunakan cglib. Kutipan dari blog sumber mata air
Untuk menghasilkan proxy seperti itu, Spring menggunakan perpustakaan pihak ketiga yang disebut cglib. Sayangnya, proyek ini tidak aktif lagi. Di Spring 3.2, sangat mungkin bahwa Spring akan menggunakan Javassist secara default.
Apakah ini cukup untuk menyarankan bahwa Spring adalah Confusion over configuration?