Musim semi dengan Maven

Daftar Isi

  1. Gambaran
  2. Ketergantungan Musim Semi Dasar dengan Maven
  3. Ketekunan Musim Semi dengan Maven
  4. MVC musim semi dengan Maven
  5. Keamanan Musim Semi dengan Maven
  6. Uji Musim Semi dengan Maven
  7. Menggunakan Milestones
  8. Menggunakan Snapshots
  9. Kesimpulan

1. Ikhtisar

Tutorial ini menggambarkan cara menyiapkan dependensi Spring melalui Maven . Rilisan Musim Semi terbaru dapat ditemukan di Maven Central.

2. Ketergantungan Musim Semi Dasar Dengan Maven

Pegas dirancang agar sangat modular - menggunakan satu bagian Pegas tidak boleh dan tidak memerlukan bagian lain. Misalnya, Konteks Musim Semi dasar bisa tanpa Persistence atau pustaka MVC Spring.

Mari kita mulai dengan dasar pengaturan Maven yang hanya akan menggunakan satu semi-konteks ketergantungan :

 5.2.8.RELEASE   org.springframework spring-context ${org.springframework.version} runtime 

Ketergantungan ini - semi-konteks - mendefinisikan sebenarnya musim semi Injection Kontainer dan memiliki sejumlah kecil dependensi: semi-core , semi-ekspresi , semi-aop , dan musim semi-kacang . Ini menambah wadah dengan mengaktifkan dukungan untuk beberapa teknologi inti Spring : utilitas Core Spring, Spring Expression Language (SpEL), dukungan Pemrograman Berorientasi Aspek dan mekanisme JavaBeans.

Perhatikan bahwa kami mendefinisikan dependensi dalam cakupan runtime - ini akan memastikan bahwa tidak ada dependensi waktu kompilasi pada API khusus Spring apa pun. Untuk kasus penggunaan yang lebih lanjut, cakupan runtime dapat dihapus dari beberapa dependensi Spring yang dipilih, tetapi untuk project yang lebih sederhana, tidak perlu mengompilasi Spring untuk memanfaatkan framework sepenuhnya.

Juga, perhatikan bahwa JDK 8 adalah versi Java minimum yang diperlukan untuk Spring 5.2. Ini juga mendukung JDK 11 sebagai cabang LTS saat ini dan JDK 13 sebagai rilis OpenJDK terbaru.

3. Ketekunan Musim Semi Dengan Maven

Sekarang mari kita lihat ketekunan ketergantungan Spring - terutama spring-orm :

 org.springframework spring-orm ${org.springframework.version} 

Ini hadir dengan dukungan Hibernate dan JPA - seperti HibernateTemplate dan JpaTemplate - serta beberapa dependensi terkait ketekunan tambahan: spring-jdbc dan spring-tx .

Pustaka Akses Data JDBC mendefinisikan dukungan Spring JDBC serta JdbcTemplate , dan spring-tx mewakili Abstraksi Manajemen Transaksi yang sangat fleksibel.

4. Spring MVC Dengan Maven

Untuk menggunakan dukungan Spring Web dan Servlet, dua dependensi perlu disertakan dalam pom , selain dependensi inti dari atas:

 org.springframework spring-web ${org.springframework.version}   org.springframework spring-webmvc ${org.springframework.version} 

The semi-web ketergantungan mengandung utilitas khusus web umum untuk kedua Servlet dan portlet lingkungan, sedangkan semi-webmvc memungkinkan dukungan MVC untuk lingkungan Servlet.

Karena spring-webmvc memiliki spring-web sebagai dependensi, definisi spring-web secara eksplisit tidak diperlukan saat menggunakan spring-webmvc .

Mulai Spring 5.0, untuk dukungan kerangka kerja web tumpukan reaktif, kami dapat menambahkan ketergantungan untuk Spring WebFlux:

 org.springframework spring-webflux ${org.springframework.version}  

5. Keamanan Musim Semi Dengan Maven

Dependensi Keamanan Maven dibahas secara mendalam di artikel Keamanan Musim Semi dengan Maven.

6. Uji Musim Semi Dengan Maven

Kerangka Uji Musim Semi dapat dimasukkan dalam proyek melalui ketergantungan berikut:

 org.springframework spring-test ${spring.version} test 

Dengan Spring 5, kami juga dapat melakukan eksekusi pengujian secara bersamaan.

7. Menggunakan Milestones

Versi rilis Spring di-host di Maven Central. Namun, jika sebuah proyek perlu menggunakan versi pencapaian, maka repositori Spring kustom perlu ditambahkan ke pom:

  repository.springframework.maven.milestone Spring Framework Maven Milestone Repository //repo.spring.io/milestone/  

Setelah repositori ini ditentukan, proyek dapat menentukan dependensi seperti:

 org.springframework spring-core 5.3.0-M1 

8. Menggunakan Snapshots

Mirip dengan pencapaian, snapshot dihosting di repositori kustom:

  repository.springframework.maven.snapshot Spring Framework Maven Snapshot Repository //repo.spring.io/snapshot/  

Setelah repositori SNAPSHOT diaktifkan di pom.xml, dependensi berikut dapat dirujuk:

 org.springframework spring-core 4.0.3.BUILD-SNAPSHOT 

Serta - untuk 5.x:

 org.springframework spring-core 5.3.0-SNAPSHOT 

9. Kesimpulan

Artikel ini membahas detail praktis penggunaan Spring dengan Maven . Dependensi Maven yang disajikan di sini tentu saja adalah beberapa yang utama, dan beberapa lainnya mungkin layak untuk disebutkan dan belum berhasil. Namun demikian, ini harus menjadi titik awal yang baik untuk menggunakan Spring dalam sebuah proyek.