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 */){
}