我有 2 个静态初始化器试图互相调用:
- 配置类中的一个,从属性文件中读取配置参数;
- LoggerFactory 类中的一个,它设置默认的日志记录参数。
问题是它们相互引用:
- 配置类需要记录器在读取属性文件时记录潜在的 I/O 问题。
- LoggerFactory 需要配置文件来设置日志文件名、日志模式和默认日志级别。
这显然是不对的,我到处都是 NPE。
是否有处理这种情况的标准方法?
最佳答案
使用不需要配置的默认记录器,并在加载可配置记录器时替换。这样您就可以以一种简单的方式轻松解决循环依赖。
关于java - 解决循环静态引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11855601/