在Spring框架中,默认情况下,所有Bean范围都是Singleton。但是使用Kotlin,我们可以轻松创建Singleton对象。只需要做
object SimpleService {
fun businessFunction() = ...
}
当我们尝试应用Spring
来管理Kotlin对象的范围时,是否有点多余。因为我只需要做
而不是通过Spring
创建类和管理obj,我只需要创建Object(单个obj)
如果我们不想紫interface segregation principle
,我们将创建一个接口,而Service只需要实现它即可。并且只需要向Spring注册类似@Bean IMyService = SimpleSerice
Spring可以通过Kotlin帮助我们的唯一一件事是Spring Data(无需执行即可创建存储库接口)。但我认为我们只需要为此集成一些开源(或创建新的开源)
我担心Spring
对于Kotlin是完全多余并且沉重的吗?
答案 0 :(得分:0)
Spring Beans的用途与Kotlin对象不同,并且本身不具有可比性。
使用Spring Bean,可以获得(特定于环境的)配置,依赖项注入...。实际上,您可以创建具有不同值的相同类型的多个bean。
在进行测试时,您可以使用切片或量身定制测试,以仅实例化测试绝对需要的bean。此外,您可以模拟它们。
TBOMK,kotlin对象表达式在加载包含文件时被初始化-在较大的项目中可能不太透明。这样做的副作用是,您可能无法在测试中对其进行控制。同样,必须以不同方式实现配置和注入。从未尝试过嘲笑...。
我将Kotlin与Spring一起使用,并且使用了各种Spring bean。每当我具有非常静态的上下文且具有快速初始化时,便会使用伴随对象和对象表达式。因此,这些对象提供了更多的静态关注点,而弹簧豆提供了动态关注点。