一尘不染

Spring MVC Web应用程序-从属性启用/禁用控制器

tomcat

我有一个在Tomcat中运行并使用Spring MVC定义控制器和映射的Web应用程序。我有以下课程:

@Controller("api.test")
public class TestController {

        @RequestMapping(value = "/test", method = RequestMethod.GET)   
        public @ResponseBody String test(HttpServletRequest httpRequest, HttpServletResponse httpResponse) {
            // body
        }
}

我想根据某个地方定义的属性(例如文件)使此控制器和“ … /
test”路径可用。如果该属性为false,那么我希望该应用程序表现为该路径不存在,如果为true,则表现正常。我怎样才能做到这一点?谢谢。


阅读 246

收藏
2020-06-16

共1个答案

一尘不染

如果您使用的是Spring 3.1+,请仅在测试配置文件中使控制器可用:

@Profile("test")
class TestController {
    ...
}

然后通过例如在Tomcat启动时传递以下系统属性来启用该配置文件:

-Dspring.profiles.active=test

要禁用控制器,只需忽略给定的配置文件。

2020-06-16