让我们考虑一个具有Web模块(或多个Web模块)作为依赖项的Spring Boot应用程序。
该应用程序不使用任何自动配置(出于某种原因),并且该Web模块构件是无Spring-Boot的。
关于这种应用程序结构,我希望在应用程序代码中使用@EnableWebMvc
批注,例如:
@SpringBootConfiguration
@EnableWebMvc
public class MyApplication {
public static void main(String[] args) {
...
具有中心控制点。
如果我将@EnableWebMvc
注释放入Web模块代码中,则此模块可能会对整个应用程序产生影响-例如,当应用程序带来自己的Web配置WebMvcConfigurationSupport
等时,控件从应用程序的角度来看,这种行为将是自下而上的。
尽管如此,几乎所有示例都将@EnableWebMvc
放在特定的配置类上。即使在https://github.com/smitchell/spring-security-5-upgrade_sso-auth-server中,也可以找到这样的代码段:
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
...
根据软件设计的最佳做法,放置@EnableWebMvc
注释的正确位置是什么?