Connecting beans

Report a typo

Choose all beans which could be injected into the host bean.

Host bean:

Java
@Component
public class Device {
    private CopyingMachine copyingMachine;

    @Autowired
    public Device(CopyingMachine copyingMachine) {
        this.copyingMachine = copyingMachine;
    }
}
Kotlin
@Component
class Device @Autowired constructor(private val copyingMachine: CopyingMachine){}

Beans to inject:

1)

Java
@Component
public class CopyingMachine {
    // constructor
}
Kotlin
@Component
class CopyingMachine public constructor( /* constructor */ ){}

2)

Java
@Configuration
public class CopyingConfiguration {

    @Bean
    public CopyingMachine getCopyingMachine(){
        return new CopyingMachine();
    }
}
Kotlin
@Configuration
class CopyingConfiguration {
    @Bean
    fun getCopyingMachine(): CopyingMachine {
        return CopyingMachine()
    }
}

3)

Java
@Configuration
public class CopyingConfiguration {

    @Component
    public CopyingMachine getCopyingMachine(){
        return new CopyingMachine();
    }
}
Kotlin
@Configuration
class CopyingConfiguration {
    @Component
    fun getCopyingMachine(): CopyingMachine {
        return CopyingMachine()
    }
}

4)

Java
@Bean
public class CopyingMachine {
    // constructor
}
Kotlin
@Bean
class CopyingMachine public constructor(/* constructor */){
    
}
Select one or more options from the list
___

Create a free account to access the full topic