快速业务通道

Java代码实现依赖注入 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
息得到Field的类型,并根据setting.xml设置它的值 。

private void setFieldValue(Object obj, Field field, String value) {    String fieldType = field.getType().getSimpleName();    try {     if (fieldType.equals("int"))       field.setInt(obj, new Integer(value));     else if (fieldType.equals("float"))       field.setFloat(obj, new Float(value));     else if (fieldType.equals("boolean"))       field.setBoolean(obj, new Boolean(value));     else if (fieldType.equals("char"))       field.setChar(obj, value.charAt(0));     else if (fieldType.equals("double"))       field.setDouble(obj, new Double(value));     else if (fieldType.equals("long"))       field.setLong(obj, new Long(value));     else       field.set(obj, value);    } catch (IllegalArgumentException e) {     e.printStackTrace();    } catch (IllegalAccessException e) {     e.printStackTrace();    } } private void setFieldValue(Object obj, Field field, List<String> value) {    try {     field.set(obj, value);    } catch (IllegalArgumentException e) {     e.printStackTrace();    } catch (IllegalAccessException e) {     e.printStackTrace();    } }

Java代码实现依赖注入(5)

时间:2011-07-22 51cto博客 zhangjunhd

5.测试

public static void main(String[] args) {    try {     BeanFactory factory = new BeanFactory();     factory.init("setting.xml");     Person p1 = (Person) factory.getBean("me");     System.out.print(p1.getName() + " ");     System.out.print(p1.getAge() + " ");     System.out.println(p1.getHeight());     Person p2 = (Person) factory.getBean("you");     System.out.print(p2.getName() + " ");     System.out.print(p2.getAge() + " ");     System.out.println(p2.getHeight());     ListOne list = (ListOne) factory.getBean("myList");     System.out.println(list.getMsg());     SetOne set = (SetOne) factory.getBean("mySet");     System.out.println(set.getMsg());     MapOne map = (MapOne) factory.getBean("myMap");     System.out.println(map.getMsg());     Persons us = (Persons) factory.getBean("us");     System.out.println(us.getI());     System.out.println(us.getU());    } catch (Exception e) {     e.printStackTrace();    } }

测试结果:

ZJ 26 1.78

Mary 27 1.66

[java, c, windows]

[cat, tom, dog]

{c=CHINA, j=JAPAN, k=KOREA}

com.zj.ioc.di.imp.Person@1a5ab41

com.zj.ioc.di.imp.Person@18e3e60

本文出自 “子 孑” 博客,请务必保留此出处 http://zhangjunhd.blog.51cto.com/113473/126545

本文配套源码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号