在哪里放置@EnableWebMvc?

时间:2019-05-05 15:19:59

标签: java spring spring-boot spring-mvc software-design

让我们考虑一个具有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注释的正确位置是什么?

0 个答案:

没有答案