易截截图软件、单文件、免安装、纯绿色、仅160KB

Java代码实现依赖注入

Java代码实现依赖注入
2009-01-15 08:18:55
 标签:依赖注入   [推送到技术圈]
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://zhangjunhd.blog.51cto.com/113473/126545
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);}
st1\:*{behavior:url(#ieooui) }
这里将模仿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
<?xml version="1.0" encoding="UTF-8"?>
 
<beans>
    <bean id="me" class="com.zj.ioc.di.imp.Person">
       <property name="name">
           <value>ZJ</value>
       </property>
       <property name="age">
           <value>26</value>
       </property>
       <property name="height">
           <value>1.78</value>
       </property>
    </bean>
    <bean id="you" class="com.z


相关文档:

java中的反射机制中invoke典型用法

java中的反射机制通过invoke方法来实现,这中间主要是是通过一下几个函数实现的
Class.forName ("类名")
Class.forName ("类名").newInstance
Class.getMethod ("调用的方法名",class[]{参数类列表})
instance.getClass
Method.invoke ("对象名","参数封装成的对象")
具体怎么实现,让我们来看一个简单的例子: ......

Java基础:第二十三讲 面向对象概述

之前介绍了Java的语法基础,接下来介绍面向对象的相关思想和概念。
本部分包含的主要内容包括:
1、类与对象,主要介绍类和对象之间的关系。
2、现实世界中的对象与软件系统中的对象,介绍如何从现实世界中的对象抽象出软件系统中的对象。
3、软件系统中的对象和类之间的关系,如何根据软件对象抽象出类。
4、类的定义 ......

数组排序汇总 [Java]


 
package sort;

import java.util.Random;

/**
* 排序测试类
*
* 排序算法的分类如下: 1.插入排序(直接插入排序、折半插入排序、希尔排序); 2.交换排序(冒泡泡排序、快速排序);
* 3.选择排序(直接选择排序、堆排序); 4.归并排序; 5.基数排序。
*
* 关于排序 ......

J2SE Java环境变量

Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。
JAVA_HOME指向的是JDK的安装路径,如D:\JDK\jdk1.5.0_12,在这路径下你应该能够找到bin、lib等目录。
JAVA_HOME=D:\JDK\jdk1.5.0_15
PATH环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号