当前位置: 首页 > 面试题库 >

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

楚宪
2023-03-14
问题内容

我有一个在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,则表现正常。我怎样才能做到这一点?谢谢。


问题答案:

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

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

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

-Dspring.profiles.active=test

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



 类似资料:
  • 如何从Google Play Console禁用已上载到Play store的所有应用程序和新应用程序的应用程序签名?

  • 我试图在Spring Boot中实现基于配置文件的应用程序,这显然适用于Spring Boot。但是当我试图在弹性搜索APM中实现它时,它不起作用。 根据这里的说法:我们可以用弹性来描述这样的性质。apm前缀: 但它不起作用。当我用elasticapm.properties打电话时,它起作用了。 你有什么建议吗?

  • 显示或隐藏左上角的 性能监控 组件。在使用这个API之前,需要先在HTML页面的 <header> 部分引入stats.min.js <header>         <script src="stats.min.js"></script> </header> controller.enableStats(); controller.disableStats();

  • 我是springboot的新手,我正在尝试从application.properties文件的位置(src/main/resources)读取属性值。但它总是返回NULL。我也需要帮助。附加类和属性文件。请注意:我试过“https://www.baeldung.com/properties-with-spring”如何访问Spring Boot中application.properties文件中定

  • 我正在开发一个Spring Boot应用程序,我使用application.properties配置db连接、服务器端口等。 例如,如何在application.properties中实现以下XML配置

  • 当我们使用任何数据库(如cassandra/mongo)时,Spring Boot应用程序属性需要遵循https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html的约定。如果我们想为数据库设置声明自己的属性而不是spring-boot约定,我们需要做哪些步骤来设置数

  • 我在src/main/resources下创建了2个文件: 应用程序。属性 第一个具有从env变量中获取值的属性,而后者具有固定值。 根据这里的具体情况,我以这样的方式推出了Spring靴: 然而,不会产生任何影响,并且应用程序是局部的。属性似乎被忽略。 有什么提示吗?

  • 我有一个springboot应用程序,它根据LDAP验证身份验证。我通过邮递员测试了它,它工作得很好。我扩展了WebSecurityConfigurerAdapter以根据LDAP验证登录凭据。这是工作很好,没有任何问题。我有一个angular前端,我调用/login,并将用户名和密码发送到它。它没有工作,我得到一个CORs错误。我将下面的代码添加到application.java中,我再也看不到