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方法传入特定值。

配置文件setting.xml

ZJ

26

1.78

Mary

27

1.66

java

c

windows

tom

cat

dog

CHINA

JAPAN

KOREA

依据setting.xml,这里将构建两个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;}

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;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值