java代码实现依赖注⼊_Java代码实现依赖注⼊
这⾥将模仿Spring实现⼀种基于xml配置⽂件的依赖注⼊机制。⽂件中将实现3中注⼊,⼀是单值注⼊ ,包括int,float,double,char等,也包括String注⼊;⼆是Java容器注⼊,包括List,Set,Map三种 容器的注⼊,最后⼀种是java bean对象注⼊。 实现的机制是,使
这⾥将模仿Spring实现⼀种基于xml配置⽂件的依赖注⼊机制。⽂件中将实现3中注⼊,⼀是单值注⼊ ,包括int,float,double,char等,也包括String注⼊;⼆是Java容器注⼊,包括List,Set,Map三种 容器的注⼊,最后⼀种是java bean对象注⼊。
实现的机制是,使⽤Dom4j对xml配置⽂件进⾏解析,这⾥使⽤dom4j的Element Handler机制,⼀种类 似与责任链模式的实现机制;对于java对象的构建使⽤反射机制,这⾥主要是针对得到的类的Field进⾏ set赋值。我试图通过调⽤Method的invoke⽅法调⽤类本⾝的setter⽅法,但是由于通过xml解析得到的值 都是String,如果将这些String动态的转换为相应的确定类型是个难点,Method的invoke⽅法,如果形参 是int,⽽传⼊java.lang.Integer,它不会认,所以尝试失败,只能通过Field的set⽅法传⼊特定值。
配置⽂件l
ZJ
26
1.78
Mary
27
1.66
java
c
windows
tom
cat
dog
CHINA
JAPAN
KOREA
依据l,这⾥将构建两个Person类的实例me和you:
Person.java
package com.zj.ioc.di.imp;
public class Person {
private String name;
private int age;
private float height;
public String getName() {return name;}
使用dom4j解析xml文件public void setName(String name) {this.name = name;}
public int getAge() {return age;}
public void setAge(int age) {this.age = age;}
public float getHeight() {return height;}
public void setHeight(float height) {this.height = height;} }
紧接着,构建⼀个ListOne的实例myList:
ListOne.java
package com.zj.ioc.di.imp;
import java.util.List;
public class ListOne {
private Listmsg;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论