我環顧四周,我似乎無法找到這個問題的直接答案。 Gradle'war'插件如何知道如何以及何時調用Spring框架?Gradle'war'插件如何知道調用Spring框架?
例如,使用war
插件任務編譯項目(如here),在什麼點時,Spring框架調用以處理@Controller
和@RequestMapping
註釋產生正確的編譯的servlet? Gradle是否能夠識別Spring框架?
非常感謝!
我環顧四周,我似乎無法找到這個問題的直接答案。 Gradle'war'插件如何知道如何以及何時調用Spring框架?Gradle'war'插件如何知道調用Spring框架?
例如,使用war
插件任務編譯項目(如here),在什麼點時,Spring框架調用以處理@Controller
和@RequestMapping
註釋產生正確的編譯的servlet? Gradle是否能夠識別Spring框架?
非常感謝!
通常會在運行時發生,通過類路徑掃描或通過@Configuration
bean。存在註釋處理器,但我不知道任何可以將Spring註釋轉換爲其他Spring配置系統的XML配置文件的註釋處理器。
在您的示例中,擴展爲AbstractAnnotationConfigDispatcherServletInitializer
的類由Servlet 3.0+容器(本例中爲jetty)自動檢測,因爲該容器首先讀取WAR。
ServletInitializer
然後繼續旋轉起來,使用提供的類作爲根; Spring會檢查所有的註釋,並建立Environment
和所有的bean。
如您所見,這與Gradle或任何其他構建系統沒有任何關係。
戰爭插件將您的類文件打包到可部署的Web歸檔中。它由您的Web提供程序(如Tomcat)解壓縮,並通過您的各種屬性和XML文件在該位置進行調用。 – Compass