Spring在Kotlin对象中自动连接是否冗余?

Spring在Kotlin对象中自动连接是否冗余?,spring,kotlin,Spring,Kotlin,在Spring框架中,默认情况下,bean作用域是Singleton。但是有了Kotlin,我们可以很容易地创建一个单例对象。只是需要做 object SimpleService { fun businessFunction() = ... } 如果我们尝试使用Spring来管理Kotlin对象的范围,这会是某种冗余吗?因为我只需要做 我只需要创建一个Kotlin对象(singleton),而不是创建一个类和Spring管理对象 如果我们不想违反接口隔离原则,我们将创建一个接口,服务只

在Spring框架中,默认情况下,bean作用域是Singleton。但是有了Kotlin,我们可以很容易地创建一个单例对象。只是需要做

object SimpleService {
  fun businessFunction() = ...
}
如果我们尝试使用Spring来管理Kotlin
对象的范围,这会是某种冗余吗?因为我只需要做

  • 我只需要创建一个Kotlin
    对象(singleton),而不是创建一个类和Spring管理对象

  • 如果我们不想违反接口隔离原则,我们将创建一个接口,
    服务
    只需要实现它。只需要注册到Spring,比如:
    @Bean IMyService=simpleprice

Spring在Kotlin方面唯一能帮助我们的是Spring数据(创建存储库接口而不实现)。但是我认为我们只需要为它集成一些开源(或者创建一个新的开源)


我担心Spring对于Kotlin来说可能是完全冗余和沉重的。

Spring bean与Kotlin对象有着不同的用途,其本身是不可比较的

使用Springbeans,您可以获得(特定于环境的)配置、依赖项注入等等。实际上,您可以创建具有不同值的同一类型的多个bean

当涉及到测试时,您可以使用切片或自己定制测试来仅实例化测试绝对需要的bean。此外,你可以嘲笑他们

TBOMK、kotlin对象表达式在加载包含的文件时初始化,这在较大的项目中可能不太透明。这样做的副作用是,您可能无法在测试中控制它。此外,配置和注入必须以不同的方式实现。从未试过嘲弄


我将Kotlin与Spring一起使用,并使用各种Spring bean。每当我有一个具有快速初始化的非常静态的上下文时,我就使用伴随对象和对象表达式。因此,这些对象服务于更多的静态关注点,而SpringBean服务于动态关注点。

SpringBean与Kotlin对象有着不同的用途,其本身不具有可比性

使用Springbeans,您可以获得(特定于环境的)配置、依赖项注入等等。实际上,您可以创建具有不同值的同一类型的多个bean

当涉及到测试时,您可以使用切片或自己定制测试来仅实例化测试绝对需要的bean。此外,你可以嘲笑他们

TBOMK、kotlin对象表达式在加载包含的文件时初始化,这在较大的项目中可能不太透明。这样做的副作用是,您可能无法在测试中控制它。此外,配置和注入必须以不同的方式实现。从未试过嘲弄

我将Kotlin与Spring一起使用,并使用各种Spring bean。每当我有一个具有快速初始化的非常静态的上下文时,我就使用伴随对象和对象表达式。因此,这些对象服务于更多的静态关注点,而SpringBean服务于动态关注点。

spring对于Kotlin来说绝对不是“完全冗余和沉重的”,spring不仅仅是创建单例的一种方式。例如,Kotlin对象不提供依赖注入。通过这个问题,我发现在这种情况下创建对象非常容易理解。这是单例为什么我们不说它是单例(对象),而把它创建为类,然后请求Spring技巧,因为单例Spring对于Kotlin来说绝对不是“完全冗余和沉重的”,Spring不仅仅是创建单例的一种方式。例如,Kotlin对象不提供依赖注入。通过这个问题,我发现在这种情况下创建对象非常容易理解。它是单例的,为什么我们不说它是单例(对象),而把它创建为类,然后请求Spring将它作为单例呢