Инверсия контроля является контроль названия, в свою очередь, говорит, что белый является Java Bean внутри свойств не генерируются внутри процедуры инъекции, а это на самом деле вводит в так называемой инъекцию в зависимости с помощью файла конфигурации весны XML. Рассмотрим следующие коды
public class KnightOfTheRoundTable implements Knight {
private String name;
private Quest quest;
public KnightOfTheRoundTable(String name) {
this.name = name;
}
public Object embarkOnQuest() throws QuestFailedException {
return quest.embark();
}
public void setQuest(Quest quest) {
this.quest = quest;
}
public String getName() {
return name;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="quest"
class="com.springinaction.chapter01.knight.HolyGrailQuest"/>
<bean id="knightTarget"
class="com.springinaction.chapter01.knight.KnightOfTheRoundTable">
<property name="name" value="hello"/>
<property name="quest">
<ref bean="quest"/>
</property>
</bean>
</beans>
public class KnightApp {
public static void main(String[] args) throws Exception {
Фабрика // = BeanFactory BeanFactory фактически пружинные контейнеры для загрузки боб
новый НОВО XmlBeanFactory (а FileSystemResource новый новый ( «knight.xml»));
Knight knight =
(Knight) ctx.getBean("knight");
knight.embarkOnQuest();
}
}
Выше атрибут XML дает полный процесс сборки, идентификатор указывает на его расположение в классе боб knightTarget, и относится к атрибуту собственности. <Имя свойства = значение «имя» = «привет» /> Это означает, что есть название боба «название» впрыскивание значения атрибута «привет», и следующее свойство, потому что это класс, а не простая строка так дайте свойство «Задание» вводятся в фасоль, он находится в передней части запуска определяется названием «поиски» боб
Воспроизводится в: https: //my.oschina.net/secyaher/blog/274432