注入参数的默认值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了注入参数的默认值相关的知识,希望对你有一定的参考价值。

一个简化的例子。

我有以下的Koin模块

val testModule = 
    factory<User>  (name: String) ->
        User(name)
    

用户对象可以被注入。

class TestClass 
   val user: User by inject() 
        parametersOf("John")
    

然而,我想知道,是否有可能... 中提供一个用户参数 TestClass? 在这种情况下,是否可以在koin模块的用户工厂中设置一个默认的名称参数?

答案

首先在你的 module 使用这个。

val testModule = module
    factory  (name: String) -> User(name) 

关于你的第二个问题,答案是肯定的,你可以提供这样的。

private val muser:User by inject()

在你的情况下,你可以在你的用户模型中设置你的默认值,像这样。

class User (name:String?="jack")

以上是关于注入参数的默认值的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot的@Value注解设置默认值

《Spring揭秘》——IOC梳理1

将属性默认值注入 3rd 方 Vue 组件

构造方法注入和设值注入有什么区别

在JAVA中能给方法参数赋默认值吗

函数之默认参数