目前,我们将应用程序的环境属性存储在 WEB-INF 中的 .properties 文件中。我们想将它们移动到数据库表中。但是我们仍然希望指定 jndi 名称,并且在本地测试环境中运行时,我们希望能够覆盖某些属性,仅为我们的工作区进行测试和开发。
Apache commons 的 DatabaseConfigurator 看起来不错,但是将 jndi 名称定义为文件中的属性时效果不佳。我没有做任何事情来要求它首先查看属性文件。
我决定将 apache commons 的 AbstractConfiguration 子类化,以尝试创建一个配置器来按我的意愿检查文件和数据库,但同样,它并没有真正起作用。Spring 绝对首先需要该 jndi 名称,可能是因为必须将数据源作为参数传递到配置器中。
我怎样才能在这里得到我想要的东西?大多数是数据库中的属性,但文件中的属性会覆盖它们。数据源的 jndi 名称不必在 spring 配置中硬编码。