对Spring中接口代码的思考?

fas*_*ava 1 java spring dependency-injection interface

我知道在春天我们都编码接口.因此,外部世界根本不应该知道实现类.但它是一个公共类,所以任何人都可以创建实现类的实例.你怎么防止这种情况?你是否将构造函数设为私有?由于spring创建了一个通过反射的实例,它应该没问题.有人有任何想法吗?我知道如果你创建一个实现类的实例它将无法正常工作,因为依赖是全部null,但这是不重要的.

Pad*_*rag 6

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

依赖注入的基本思想是拥有一个单独的对象,即汇编程序,它使用适当的finder接口实现填充lister类中的字段.
请参阅Martin Fowler了解更多信息.