Musim bunga dengan Maven

Isi kandungan

  1. Gambaran keseluruhan
  2. Ketergantungan Musim Semi Asas dengan Maven
  3. Kegigihan Musim Semi dengan Maven
  4. Spring MVC dengan Maven
  5. Keselamatan Musim Bunga dengan Maven
  6. Spring Test dengan Maven
  7. Menggunakan Tonggak
  8. Menggunakan Gambar
  9. Kesimpulannya

1. Gambaran keseluruhan

Tutorial ini menggambarkan cara mengatur pergantungan Spring melalui Maven . Keluaran Spring terbaru boleh didapati di Maven Central.

2. Ketergantungan Musim Semi Asas Dengan Maven

Spring dirancang untuk menjadi sangat modular - menggunakan satu bahagian Spring tidak boleh dan tidak memerlukan bahagian lain. Sebagai contoh, Konteks Musim Semi asas boleh tanpa perpustakaan Kegigihan atau MVC Spring.

Permulaan let dengan asas setup Maven yang hanya akan menggunakan yang bunga-konteks pergantungan :

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

Pergantungan ini - bunga-konteks - mentakrifkan suntikan Spring sebenar Container dan mempunyai sebilangan kecil kebergantungan: spring-core , bunga-ungkapan , bunga-aop , dan bunga-kacang . Ini menambah wadah dengan mengaktifkan sokongan untuk beberapa teknologi utama Spring : utiliti Core Spring, Spring Expression Language (SpEL), sokongan Pengaturcaraan Berorientasi Aspek dan mekanisme JavaBeans.

Ambil perhatian kita menentukan kebergantungan di runtime skop - ini akan memastikan bahawa tidak ada kebergantungan menyusun masa di mana-mana API tertentu Spring. Bagi kes-kes penggunaan yang lebih maju, runtime skop boleh dipecat daripada beberapa kebergantungan Spring dipilih, tetapi untuk projek-projek yang lebih mudah, ada tidak perlu untuk menyusun terhadap Spring untuk menggunakan sepenuhnya rangka kerja tersebut.

Juga, perhatikan bahawa JDK 8 adalah versi Java minimum yang diperlukan untuk Spring 5.2. Ia juga menyokong JDK 11 sebagai cawangan LTS terkini dan JDK 13 sebagai keluaran OpenJDK terbaru.

3. Kegigihan Musim Semi Dengan Maven

Sekarang mari kita lihat kebergantungan Spring yang berterusan - terutamanya spring-orm :

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

Ini disertakan dengan sokongan Hibernate dan JPA - seperti HibernateTemplate dan JpaTemplate - serta beberapa pergantungan tambahan yang berkaitan dengan kegigihan: spring-jdbc dan spring-tx .

Perpustakaan Akses Data JDBC mendefinisikan sokongan Spring JDBC serta JdbcTemplate , dan spring-tx mewakili Abstraksi Pengurusan Transaksi yang sangat fleksibel.

4. Spring MVC Dengan Maven

Untuk menggunakan sokongan Spring Web dan Servlet, dua pergantungan perlu disertakan dalam pom , sekali lagi sebagai tambahan kepada pergantungan teras dari atas:

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

The bunga-web pergantungan mengandungi utiliti khusus web biasa untuk kedua-dua Servlet dan Portlet persekitaran, manakala bunga-webmvc membolehkan sokongan MVC untuk persekitaran Servlet.

Oleh kerana spring-webmvc mempunyai spring-web sebagai pergantungan, secara jelas mendefinisikan spring-web tidak diperlukan ketika menggunakan spring-webmvc .

Mulai Spring 5.0, untuk sokongan rangka kerja web reactive-stack, kita dapat menambahkan kebergantungan untuk Spring WebFlux:

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

5. Keselamatan Musim Semi Bersama Maven

Pergantungan Security Maven dibincangkan secara mendalam dalam artikel Spring Security with Maven.

6. Ujian Musim Semi Bersama Maven

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

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

Dengan Spring 5, kita juga dapat melakukan pelaksanaan ujian serentak.

7. Menggunakan Tonggak

Versi pelepasan Spring dihoskan di Maven Central. Walau bagaimanapun, jika projek perlu menggunakan versi pencapaian, maka repositori Spring khusus perlu ditambahkan ke pom:

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

Setelah repositori ini ditentukan, projek dapat menentukan kebergantungan seperti:

 org.springframework spring-core 5.3.0-M1 

8. Menggunakan Gambar

Mirip dengan tonggak, snapshot dihoskan di repositori tersuai:

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

Setelah repositori SNAPSHOT diaktifkan di pom.xml, kebergantungan 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. Kesimpulannya

Artikel ini membincangkan butiran praktikal penggunaan Spring with Maven . Pergantungan Maven yang disajikan di sini tentu saja merupakan yang utama, dan beberapa yang lain mungkin patut disebut dan belum membuat pemotongan. Walaupun begitu, ini harus menjadi titik permulaan yang baik untuk menggunakan Spring dalam projek.