Spring bean 类,即 Spring 应用程序上下文设置的对象的类,必须是public
类,以便 Spring 创建这些对象?显然,如果您的bean 在不同的包中访问您的其他 bean,那么您的 bean 必须public
相互交互。我的问题是你所有的 bean 类是否都必须是public
.
由于 Spring 代码本身与您的代码所在的包位于不同的包中,因此从概念上讲,Spring 正在做一些应该需要public
访问您的类的事情。另一方面,Spring 使用反射来创建 bean,所以它可能不需要你的类是public
.
除了包访问类型之外,从 Java 9 开始,我们还有 Java 模块。如果将类放在模块中,是否需要公开并从模块中导出它们?