【发布时间】:2013-09-23 00:00:57
【问题描述】:
Spring bean 类,Spring 应用程序上下文设置的对象的类,必须是public 类,Spring 才能创建这些对象?显然,如果 您的 bean 访问您在不同包中的其他 bean,则您的 bean 必须是 public 才能相互交互。我的问题是所有您的 bean 类是否必须是 public。
由于 Spring 代码本身与您的代码所在的包位于不同的包中,因此从概念上讲,Spring 正在做一些应该要求 public 访问您的类的事情。另一方面,Spring 使用反射来创建 bean,因此它可能不需要你的类是 public。
除了包访问类型之外,从 Java 9 开始我们还有 Java 模块。如果将类放在模块中,是否需要公开并从模块中导出它们?
【问题讨论】: