我已经看了很多,我似乎无法找到这个问题的直接答案。 Gradle' war'插件知道如何以及何时调用Spring Framework?
例如,当使用war
插件任务编译项目(例如here)时,Spring框架在什么时候被调用来处理@Controller
和{{1注释生成正确编译的servlet? Gradle是否难以识别Spring Framework?
非常感谢!
答案 0 :(得分:2)
通常在运行时发生,通过类路径扫描或通过@Configuration
bean。存在注释处理器,但我不知道任何可以将Spring注释转换为另一个Spring配置系统的XML配置文件。
在您的示例中,扩展AbstractAnnotationConfigDispatcherServletInitializer
的类由Servlet 3.0+容器(在本例中为jetty)自动检测,因为该容器首先读取WAR。
然后ServletInitializer
继续使用提供的类作为根来旋转Spring; Spring检查所有注释并构建Environment
和所有bean。
如您所见,这与Gradle或任何其他构建系统无关。