【问题标题】:How To Keep Properties File outside the war in spring application如何在春季应用程序中将属性文件保留在战争之外
【发布时间】:2015-12-04 05:16:45
【问题描述】:

我试图使用以下示例在我的 spring 应用程序中实现可重新加载的消息资源sample code

  1. 但我不知道如何以及何时实例化 Message 类。我应该在 spring.xml 中将其声明为 bean 吗?

  2. setMessageSource 方法将如何被调用?

  3. BUNDLE_NAME = "com.sample.project.core.ui.resources.messages" 的意义是什么。如何在应用程序中使用它。

如果您对这些问题有任何解决方案,请回复。

提前致谢。

【问题讨论】:

  • 您只是想将字符串外部化并在您的应用程序中访问它们,还是想做其他事情?

标签: java spring tomcat properties


【解决方案1】:
  1. 您可以将该类声明为@configuration 类。然后确保扫描类的包,以便 Spring 在启动时发现配置。

  2. 在示例中,只要需要重新加载捆绑包,就会“手动”调用 setMessageSource。您需要实施一种策略,以便在适当的时候调用这些方法。

  3. 包名称遵循 i18n 标准。基本上,您的消息包通常会在文件夹 com/sample/project/core/ui/resources/messages 下找到

【讨论】:

    【解决方案2】:

    可以部署爆炸战争。它只是一个 zip,所以将解压缩的版本放在应用程序容器中。要么更改构建以进行 ecploded 战争,要么如果不熟悉,只需使用 7zip 将战争“提取”到新文件夹,然后将该文件夹放入 tomcat 或其他应用程序容器适当的 webapps 文件夹中。只需确保 WEB-INF 文件夹位于已展开应用的主文件夹下方

    表示文件夹结构:

    tomcat
       -conf
       -bin
       -webapps 
          -yourApp
            -WEB-INF
    

    然后您可以更轻松地编辑属性文件。但是需要记住保留属性文件的副本,以防您部署新版本的应用程序。最好将它们保存在 prod-conf 或其他文件夹下的源代码控制中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-25
      • 2016-10-27
      • 2011-09-06
      • 1970-01-01
      • 1970-01-01
      • 2013-03-25
      • 2011-12-16
      • 1970-01-01
      相关资源
      最近更新 更多