java - 考虑 Spring 中的接口(interface)代码?

标签 java spring interface dependency-injection

我知道在 Spring 我们都为接口(interface)编写代码。所以这个实现类根本不应该被外界知道。但它是一个公共(public)类,所以任何人也可以创建一个实现类的实例。你如何防止这种情况?您是否将构造函数设为私有(private)?既然spring创建了一个through reflection的实例,那应该没问题。有人考虑过吗?我知道如果您创建实现类的实例,它将无法正常工作,因为依赖项都是 null,但这不是重点。

最佳答案

Spring 依赖注入(inject)的目的不仅仅是隐藏实现类。
重点是您不必担心使用哪个实现类。我们把提供类的责任交给了Spring的容器。

依赖注入(inject)的基本思想是有一个单独的对象,一个汇编器,它使用查找器接口(interface)的适当实现填充列表器类中的一个字段。
参见Martin Fowler。更多。

关于java - 考虑 Spring 中的接口(interface)代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2323997/

相关文章:

java - 基于 x/y 坐标高效地查找数组元素

java - ResultSet:减少表被读锁定的时间量

spring - 使用 Spring MVC 和 Hibernate 实现分页

spring - Spring MVC 中返回 ModelAndView 和返回 String 有什么区别?

java - 接口(interface)实现启动不同的异常

php - 网络监控

java - maven war插件如何配置多个输出目录?

java - jSoup 从 <span> 类中获取文本

java - Spring Boot SLF4J 日志记录性能

c# - 为什么不允许在 .NET 中就地实现接口(interface)?