【发布时间】:2016-07-10 10:53:59
【问题描述】:
我有一个 web 应用程序,其 db 连接属性在 persistence.xml 中定义。
我正在使用包含管理器持久性和使用 @PersistenceContext 注入的实体管理器。
今天数据库的密码在 persistence.xml 文件中,但我宁愿设置它运行时(询问用户)。
我可以使用密码运行时创建一个新的 EntityManager,但是如何“覆盖”注入的呢?
还有其他好的想法/方法吗?
【问题讨论】:
-
与其明确询问用户,不如使用属性或环境变量。
-
客户端将在“本地”运行,并且没有安装在适当的生产环境中,我们不希望本地文件中的生产密码。他们知道对数据库使用什么密码,并会在运行时提供它。