日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot,@ EnableWebMvc和常见用例

發布時間:2023/12/3 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot,@ EnableWebMvc和常见用例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

事實證明,Spring Boot與標準Spring MVC @EnableWebMvc不能很好地融合@EnableWebMvc 。 添加注釋時發生的事情是禁用了Spring Boot自動配置。

不好的部分(浪費了我幾個小時)是,在任何指南中,您都找不到明確指出的內容。 在本指南中,它說Spring Boot是自動添加它的,但是沒有說如果您按照以前的經驗并僅添加注釋會發生什么。

實際上,由于這種自動禁用的自動配置而出現問題的人們正試圖以各種方式解決該問題。 最常見的是-保留@EnableWebMvc,同時擴展Spring Boot的WebMvcAutoConfiguration 。 就像這里 , 這里 , 這里 有些 。 在我有了主意并以這種方式實施后,我找到了他們。 然后,在通過Spring Boot的代碼并看到autoconfiguration類中的內部類具有一行Javadoc聲明之后,意識到這樣做是多余的

配置等同于{@code @EnableWebMvc}。

這就回答了我的問題,即Spring啟動自動配置是否缺少某些EnableWebMvc“功能”。 他們擴展提供EnableWebMvc的類,而不是鏡像功能(這很明顯,我想),這是很好的。

要自定義bean時應該怎么做? 與往常一樣,擴展WebMvcConfigurerAdapter (使用@Component注釋新類)并進行自定義。

因此,特定問題的底線是:不要在Spring Boot中使用@EnableWebMvc,只需將spring-web作為maven / gradle依賴項包括在內,它將被自動配置。

這里的大圖使我在主配置類中添加了一條注釋,詳細說明了為什么不應將@EnableWebMvc放在此處。 因此,自動配置魔術為我節省了很多工作,但我仍然添加了一行以解釋為什么不存在某些內容。

那是由于常見的用例 -人們習慣了使用@EnableWebMvc 。 因此,最自然,最常見的做法是添加它,尤其是在您不知道Spring Boot自動配置如何詳細工作的情況下。 而且他們會繼續這樣做,并浪費了幾個小時才意識到自己應該刪除它(或者在擴展一堆啟動類以達到相同效果之前)。

在這種情況下,我的建議是:記錄警告。 并要求明確禁用自動配置以擺脫警告。 我必須打開調試以查看自動配置的內容,然后探索一堆類以檢查必要條件以弄清楚情況。

Spring Boot的主要用例之一是jar打包的Web應用程序。 我猜這就是大多數教程的目的,而這正是它最常用于的目的。 因此,對于這種常見用例應該有特殊的對待-附加的日志和日志信息可以幫助人們度過自動配置的迷宮。

我不想被看作是“指導” Spring團隊,他們在擁有良好的文檔和簡單的行為方面做得非常出色。 但是在這種情況下,多個子項目“碰撞”,似乎可以改進。

翻譯自: https://www.javacodegeeks.com/2017/04/spring-boot-enablewebmvc-common-use-cases.html

總結

以上是生活随笔為你收集整理的Spring Boot,@ EnableWebMvc和常见用例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。