Rumah >Java >javaTutorial >Bagaimana untuk menyelesaikan masalah pembinaan laman web rasmi SpringBoot dan permulaan pantas
SpringBoot
ialah rangka kerja baharu yang disediakan oleh pasukan Pivotal, yang direka untuk memudahkan aplikasi Spring The persediaan awal dan proses pembangunan.
Semua orang pernah mengalami program SpringBoot
Mari kita lihat semula dan lihat apakah fungsi utama SpringBoot
, iaitu untuk memudahkan proses pembinaan dan pembangunan Spring
.
AsalSpring
Terdapat masalah berikut dalam pembinaan dan pembangunan persekitaran:
Kebergantungan konfigurasi yang rumit
Persediaan yang rumit
SpringBoot
Kelebihan program ini ialah ia secara automatik mengkonfigurasi kelemahan Spring
. Ini digunakan untuk menyelesaikan masalah Spring
konfigurasi program yang menyusahkan
memulakan kebergantungan. Ini digunakan untuk menyelesaikan masalah Spring
tetapan pergantungan program yang menyusahkan
fungsi tambahan (pelayan terbina dalam,…). Apabila kami memulakan program SpringBoot
, kami tidak menggunakan tomcat
tempatan mahupun pemalam tomcat
, tetapi menggunakan SpringBoot
pelayan terbina dalam.
Seterusnya mari kita bincangkan tentang kebergantungan permulaan SpringBoot
Kami menggunakan kaedah Spring Initializr
untuk mencipta Maven
projek pom.xml
Fail konfigurasi secara automatik menjana banyak kebergantungan yang mengandungi starter
, seperti yang ditunjukkan di bawah
Kebergantungan ini ialah kebergantungan permulaan. Seterusnya, mari kita terokai cara ia berfungsi .
Daripada fail di atas, anda boleh melihat bahawa projek induk ditentukan Kami memasuki projek induk dan mendapati projek induk lain dinyatakan dalam projek induk, sebagai ditunjukkan dalam rajah di bawah
Kemudian masukkan projek induk Dalam projek ini, kita boleh melihat struktur kandungan konfigurasi seperti yang ditunjukkan di bawah
<.>
Teg dalam gambar di atas mentakrifkan versi setiap pergantungan perisian teknikal, yang mengelakkan kami mempertimbangkan isu keserasian versi apabila menggunakan teknologi perisian yang berbeza. Dalam properties
kami dapati versi properties
dan servlet
seperti yang ditunjukkan di bawah mysql
teg adalah untuk penguncian versi kebergantungan, tetapi kebergantungan yang sepadan adalah. tidak diimport. Jika projek kami memerlukan kebergantungan itu, kami hanya perlu memperkenalkan tanggungan dependencyManagement
dan groupid
tanpa menentukan artifactId
. version
juga mengunci versi pemalam, seperti yang ditunjukkan di bawahbuild
dalam projek induk, Sukar untuk memahami mengapa tiada satu pun kebergantungan projek kami dikonfigurasikan pom.xml
. version
dalam projek yang kami buat pom.xml
pom.xml
yang memperkenalkan kebergantungan
dan, itulah sebabnya tiada kebergantungan dalam projek kami Sebab mengapa anda masih boleh menggunakan anotasi dalam spring-web
biasanya dengan bergantung pada kedua-dua pakej ini. spring-webmvc
springMVC
bergantung pada
secara dalaman, jadi projek kami boleh bermula seperti biasa. spring-boot-starter-tomcat
tomcat
Kesimpulan: Jika anda perlu menggunakan teknologi pada masa hadapan, anda hanya perlu memperkenalkan kebergantungan permulaan yang sepadan dengan teknologi
Ringkasan
pemulaNama projek biasa dalam
SpringBoot
spring-boot-starter-parent
(2.5.0) dan spring-boot-starter-parent
(2.4.6) mempunyai sejumlah 57 versi koordinat berbeza
Sebenar pembangunan
Apabila menggunakan koordinat arbitrari, hanya tulis G dan A dalam GAV, V disediakan oleh SpringBoot
G: groupid
A: artifactId
V: versi
Jika ralat koordinat berlaku, nyatakan versi sekali lagi (berhati-hati tentang konflik versi)
Setiap SpringBoot
dicipta Program ini mengandungi kelas yang serupa dengan yang berikut Kami memanggil kelas ini sebagai kelas but
Nota:
SpringBoot
Apabila mencipta projek, gunakan balang Kaedah pembungkusan
SpringBoot
ialah titik masuk projek Menjalankan kaedah main
boleh memulakan projek
Kebergantungan dikonfigurasikan dalam pom.xml
, dan kebergantungan ini tahu bahawa ia bergantung pada spring-boot-starter-web
melalui pembelajaran sebelumnya, jadi menjalankan kaedah tomcat
boleh menggunakan main
untuk memulakan projek kami. tomcat
, bolehkah kita menggunakan pelayan tomcat
dan bukannya tomcat
berada dalam jetty
kami? Perbincangan lanjutan jetty
Pelayan yang digunakan oleh pelayan peribadi. Untuk menukar pelayan maven
, anda perlu mengecualikan pelayan lalai maven
Bagaimana untuk mengecualikannya? Menggunakan web
tag tomcat
@SpringBootApplication public class Springboot01QuickstartApplication { public static void main(String[] args) { SpringApplication.run(Springboot01QuickstartApplication.class, args); } }
exclusion
Sekarang bolehkah kita menjalankan kelas bootstrap? Cuba jalankannya. Maklumat log yang dicetak adalah seperti berikut:
Atur cara dihentikan terus. Ini kerana jika anda mengecualikan pelayan
, tidak akan ada pelayan dalam program. Jadi pada masa ini kita bukan sahaja perlu mengecualikan pelayan, tetapi juga memperkenalkan pelayan tomcat
. Dalam tomcat
, kerana kebergantungan permulaan jetty
ialah pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <artifactId>spring-boot-starter-tomcat</artifactId> <groupId>org.springframework.boot</groupId> </exclusion> </exclusions> </dependency>
jetty
, jalankan kelas but sekali lagi Anda boleh lihat dalam maklumat log bahawa pelayan
jetty
. digunakan.
Selepas kita menyelesaikan kes pengenalan dalam artikel sebelum ini, kita dapati bahawa terdapat perbezaan besar antara kedua-duanya:Dengan menukar pelayan, tidak sukar untuk mencari bahawa apabila menggunakan untuk menukar teknologi, kita hanya perlu mengimport permulaan kebergantungan teknologi.
SpringBoot
Perbandingan antara spring dan springboot
Koordinat
Spring
SpringBoot
Spring
SpringBoot
Spring/SpringMVC
SpringBoot
projek memerlukan sambungan Internet.Sebab projek
Spring Initializr
SpringBoot
Projek pembinaan laman web rasmi
direalisasikan. Jadi bagaimana untuk membina projek di laman web rasmi? Bina melalui langkah berikutSpringBoot
Idea
Masukkan tapak web rasmi SpringBootSpringBoot
SpringBoot
Kemudian klik hiperpautan dan ia akan melompat ke halaman berikut
Spring Initializr
Adakah kandungan halaman ini kelihatan biasa? gunakan untuk membina dengan cepat
Antara muka projek pada asasnya adalah sama. Masukkan maklumat yang sepadan pada halaman di atasIdea
Pilih kebergantungan SpringBoot
以上步骤完成后就可以生成 SpringBoot
工程了。在页面的最下方点击 GENERATE CTRL + 回车
按钮生成工程并下载到本地,如下图所示
打开下载好的压缩包可以看到工程结构和使用 Idea
生成的一模一样,如下图
而打开 pom.xml
文件,里面也包含了父工程和 Spring Web
的依赖。
通过上面官网的操作,我们知道 Idea
中快速构建 SpringBoot
工程其实就是使用的官网的快速构建组件,那以后即使没有 Idea
也可以使用官网的方式构建 SpringBoot
工程。
以后我们和前端开发人员协同开发,而前端开发人员需要测试前端程序就需要后端开启服务器,这就受制于后端开发人员。为了摆脱这个受制,前端开发人员尝试着在自己电脑上安装 Tomcat
和 Idea
,在自己电脑上启动后端程序,这显然不现实。
我们后端可以将 SpringBoot
工程打成 jar
包,该 jar
包运行不依赖于 Tomcat
和 Idea
这些工具也可以正常运行,只是这个 jar
包在运行过程中连接和我们自己程序相同的 Mysql
数据库即可。这样就可以解决这个问题,如下图
那现在问题是如何打包呢?
由于我们在构建 SpringBoot
工程时已经在 pom.xml
中配置了如下插件
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin>
所以我们只需要使用 Maven
的 package
指令打包就会在 target
目录下生成对应的 Jar
包。
注意:该插件必须配置,不然打好的
jar
包也是有问题的。
进入 jar
包所在位置,在 命令提示符
中输入如下命令
java -jar 包名.jar
执行上述命令就可以看到 SpringBoot
运行的日志信息
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah pembinaan laman web rasmi SpringBoot dan permulaan pantas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!