现在,我们将模仿Spring来实现基于xml配置文件的依赖注入机制。 在文件中,实现int、float、double、char等单值注入和包括String注入在内的三个注入; 二是Java容器的注入,包括List、Set、Map三种容器的注入,最后一种是java bean对象的注入。 实现的机制是
现在,我们将模仿Spring来实现基于xml配置文件的依赖注入机制。 在文件中,实现int、float、double、char等单值注入和包括String注入在内的三个注入; 二是Java容器的注入,包括List、Set、Map三种容器的注入,最后一种是java bean对象的注入。
实现机制是使用Dom4j解析xml配置文件,这里使用Dom4j的Element Handler机制,类似于责任链模式的实现机制; 虽然在java对象的构建中使用了反射机制,但是这里主要是对得到的类的字段进行set赋值。 您试图通过调用Method的invoke方法调用类本身的setter方法,但难点在于将这些String动态转换为适当的类型,因为xml分析中的所有值都是字符串。 如果参数为int,则Method的invoke方法会传递给java.lang.Integer
配置文件setting.xml
ZJ
26
1.78
玛丽
27
1.66
java
C
windows
汤姆
cat
dog
中国
日本航空
KOREA
根据setting.xml,这里构建Person类的两个实例me和you。
Person.java
package com.zj.ioc.di.imp;
公共类人员{
私有字符串名称;
私有输入;
private float height;
公共字符串获取名称() {return name; }
公共void set name (string name ) {this.name=name; }
公共获取页面() {return age; }
publicvoidsetage(intage ) ) {this.age=age; }
publicfloatgetheight ((return height; }
publicvoidsetheight (float height ) {this.height=height; }
}
然后,构建ListOne的实例myList。
ListOne.java
package com.zj.ioc.di.imp;
import java.util.List;
公共类列表{
私有列表msg;