JavaFX+Spring Boot+Hibernate应用程序对多个环境的java支持
我正在用hibernate在Spring Boot中构建一个JavaFX应用程序。它连接到数据库以显示一些数据,目前它从属性文件获取连接细节,并使用纯Java配置加载sessionFactory、datasource和transaction manager bean。然而,我在多台远程机器上有多个数据库,每个数据库都有不同的IP和用户详细信息。理想情况下,我希望显示一个登录表单,在应用程序启动时提示输入db用户名和密码。我不想从文件中读到这些细节。有可能吗?我真的很想在这个问题上得到一些帮助
编辑: 为了实现这一点,在我的登录控制器中,我只需实现ApplicationContextAware,然后使用文本字段中的数据手动加载注册bean
# 1 楼答案
这是我的解决方案,唯一的缺点是登录尝试失败后无法登录。它可以正常工作,但如果我先使用不正确的登录凭据,然后使用正确的登录凭据,它会抛出一个异常,表明EntityManagerFactory已关闭。(我确实删除了catch块中的bean定义,只是想缩短代码)