spring 个人笔记

时间:2014-12-04 10:34:08
【文件属性】:
文件名称:spring 个人笔记
文件大小:815KB
文件格式:DOC
更新时间:2014-12-04 10:34:08
spring spring 个人笔记 //* 以下for循环是实现模拟spring自动装配(注入)功能 //一开始列出此bean的所有property子元素 for (Element propertyElement : (List)element.getChildren("property")){ //获取property子元素中 属性为name的值(也就是需要注入的参数名称) String name = propertyElement.getAttributeValue("name"); //获取property子元素中 属性为bean的值 (需要注入参数的类型),此处的bean值是已经在上面初始化好了的bean的ID了。 String bean = propertyElement.getAttributeValue("bean"); //因此此处获取指定ID的bean Object beanObject = beans.get(bean); //组成set方法名称:set + 第一个字母大写 + 其它的字母 String methodName = "set" + name.substring(0,1).toUpperCase() + name.substring(1); System.out.println("methodName = " + methodName); //获取bean的set方法,参数(方法名,参数:此参数的类型) Method m = o.getClass().getMethod(methodName, beanObject.getClass().getInterfaces()[0]); //使用反映机制,执行method方法,从而实现注入功能 m.invoke(o, beanObject); }

网友评论