我正在使用Spring Boot注释配置。我有一个类,其构造函数接受2个参数(字符串,另一个类)。
Fruit.java
public class Fruit {
public Fruit(String FruitType, Apple apple) {
this.FruitType = FruitType;
this.apple = apple;
}
}
Apple.java
public class Apple {
}
我有一个类需要通过向构造函数注入参数来自动装配上面的类(" iron Fruit",Apple类)
Cook.java
public class Cook {
@Autowired
Fruit applefruit;
}
厨师班需要使用参数自动装配Fruit类("铁水果",Apple类)
XML配置如下所示:
<bean id="redapple" class="Apple" />
<bean id="greenapple" class="Apple" />
<bean name="appleCook" class="Cook">
<constructor-arg index="0" value="iron Fruit"/>
<constructor-arg index="1" ref="redapple"/>
</bean>
<bean name="appleCook2" class="Cook">
<constructor-arg index="0" value="iron Fruit"/>
<constructor-arg index="1" ref="greenapple"/>
</bean>
如何仅使用注释配置来实现它?
答案 0 :(得分:13)
Apple必须是一个弹簧管理的bean:
var previous=null;
function focusMe(el) {
if(previous!=null){
previous.style.backgroundColor = "white";
}
el.style.backgroundColor = "red";
previous=el;
}
水果:
@Component
public class Apple{
}
请注意@Component
public class Fruit {
@Autowired
public Fruit(
@Value("iron Fruit") String FruitType,
Apple apple
) {
this.FruitType = FruitType;
this.apple = apple;
}
}
和@Autowired
注释的使用情况。
库克也应该有@Value
。
<强>更新强>
或者您可以使用@Component
和@Configuration
注释:
@Bean