I am using Spring Boot annotation configuration. I have a class whose constructor accepts 2 parameters (string, another class).
Fruit.java
Apple must be a spring-managed bean:
@Component
public class Apple{
}
Fruit as well:
@Component
public class Fruit {
@Autowired
public Fruit(
@Value("iron Fruit") String FruitType,
Apple apple
) {
this.FruitType = FruitType;
this.apple = apple;
}
}
Note the usage of @Autowired
and @Value
annotations.
Cook should have @Component
too.
Update
Or you could use @Configuration
and @Bean
annotations:
@Configuration
public class Config {
@Bean(name = "redapple")
public Apple redApple() {
return new Apple();
}
@Bean(name = "greeapple")
public Apple greenApple() {
retturn new Apple();
}
@Bean(name = "appleCook")
public Cook appleCook() {
return new Cook("iron Fruit", redApple());
}
...
}