JAVA初始化数据库环境

JAVA初始化数据库环境,java,Java,我正在使用伯克利数据库。您应该打开一次环境(只是一些文件,以支持锁定等),然后使用该环境打开数据库文件… 这里的问题是环境应该创建一次 拥有全球冠军被认为是个坏主意 只创建一次的最佳实践是什么 我应该使用单例模式(枚举实现)还是静态模式,还是其他解决方案 单例模式最好 因为即使由于某种原因,如果环境或任何对象变为null,我们也可以在getInstance()中检查null 如果为空,我们可以创建一个。因此,每次只有一个对象。无论是静态还是最终都不是一个好主意。您的环境将创建一次(我猜是在系统启


我正在使用伯克利数据库。您应该打开一次环境(只是一些文件,以支持锁定等),然后使用该环境打开数据库文件…
这里的问题是环境应该创建一次

拥有全球冠军被认为是个坏主意

只创建一次的最佳实践是什么


我应该使用单例模式(枚举实现)还是静态模式,还是其他解决方案

单例模式最好

因为即使由于某种原因,如果环境或任何对象变为null,我们也可以在getInstance()中检查null

如果为空,我们可以创建一个。因此,每次只有一个对象。

无论是静态还是最终都不是一个好主意。您的环境将创建一次(我猜是在系统启动期间)。这个环境应该对您的系统可用,您的数据库管理器可以从那里传递给DAO


理想情况下,您会希望使用依赖注入以最简洁的方式实现这一点,例如。

提供的方法,但在这种情况下如何实现这一点?在这里完全回答这是一个相当大的主题。看看Spring和一些文章,比如:好吧。。。然后,如果您正在寻找一些能够实现此目的的代码,则需要更多详细信息。这是一个webapp还是在任何其他运行时容器中运行?它是从一个
main()
方法开始的吗?它是从一个main方法开始的,但我计划将来将它包含到一个web服务中。根据要使用的web容器,有不同的注入此依赖关系的方法。我从未使用过如此基本的
main()
,但据我所知,您必须自己编写应用程序容器,这样才能使用它—这可能不值得。我强烈建议您使用一个已经过测试、改进和记录的容器,而不是自己尝试这样做。否则,您将分散自己的注意力,无法编写业务问题的解决方案。