Apache Cayenne在资源目录中保留一个“ ... project.xml”文件。该文件包含数据库的密码。这是一个问题,因为开发人员不应该看到[部署服务器]密码。此外,在开发过程中,需要使用不同的用户/密码以及与不同数据库的连接。
使用Cayenne时,管理“ ... project.xml”的最佳实践是什么?有什么建议么?
编辑:
可以将信息以编程方式注入到DataSource对象中,而不是将数据库连接信息(包括密码)放入XML文件中吗?如果是这样,我可以在应用启动时从配置文件中加载信息,然后注入它。
最佳答案
当然是。有一个“ cayenne.jdbc.password”属性,可用于在运行时定义数据源密码。它可以通过两种替代方式应用:
作为命令行上的系统属性:java -Dcayenne.jdbc.password=xxxxx
通过注射:ServerModule.contributeProperties(binder) .put(Constants.JDBC_PASSWORD_PROPERTY, "xxxxx");
此配置属性和其他配置属性为documented here。
关于java - 管理Apache Cayenne“…project.xml”文件的最佳实践,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45781378/