Как выполнить внедрение зависимостей на основе конструктора в Spring с использованием аннотаций?
Итак, если мне нужно поместить некоторые примитивные значения в конструктор, как мне это сделать?
@Autowired
public CustomBean(String name, @Qualifier("SuperBean") SuperBean superBean) {
super();
this.superBean = superBean;
this.name = name;
}
Например, здесь я определяю, что superBean имеет квалификатор "SuperBean", но я также хотел бы знать, как можно использовать аннотации для установки значения имени здесь?
Я знаю, что это возможно с конфигурацией XML, но я хочу знать, как это сделать с аннотациями:
<bean id="CustomXmlBean" class="org.arturas.summerfav.beans.CustomXmlBean">
<constructor-arg name="name" type="String" value="The Big Custom XML Bean" />
<constructor-arg>
<bean id="SuperBean" class="org.arturas.summerfav.beans.SuperBean" />
</constructor-arg>
</bean>
Ну, как мне ввести значения для String, int и других универсальных типов?
1 ответ
Решение
Вот один из способов сделать это:
@Component
public class YourBean {
@Autowired
public YourBean(@Value("${prop1}") String arg1, @Value("${prop2}") String arg2) {
// rest of the code
}
}