日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一个简单IOC与DI示例

發布時間:2025/7/14 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个简单IOC与DI示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、通過bean工廠實現讀取xml文件,并實例化對象,實現自動注入。 package com.pri.test;import com.pri.factory.BeanFactory; import com.pri.service.UserService; import org.junit.Test;public class BeanFactoryTest {@Testpublic void test(){BeanFactory beanFactory = BeanFactory.getBeanFactory();UserService user = (UserService)beanFactory.getBean("user");user.save();} }

2、xml配置文件:

<?xml version="1.0" encoding="UTF-8"?> <beans ><bean id="user" class="com.pri.service.impl.UserServiceImpl01"><property name="name" value="李四"/></bean> </beans>

3、實例對象:

package com.pri.service.impl;import com.pri.service.UserService; public class UserServiceImpl01 implements UserService{private String name;public String getName() { return name;}public void setName(String name) { this.name = name;}@Overridepublic void save(){System.out.println("UserService被調用........::"+name);} }

4、BeanFactory工廠:

package com.pri.factory;import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; import java.beans.IntrospectionException; import java.beans.PropertyDescriptor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class BeanFactory {/*** 私有化構造,禁止以new的方式獲取BeanFactory實例*/private BeanFactory(){}/*** 靜態內部類,保證只有一個BeanFactory*/static class SingleBeanFactory{static BeanFactory BEANFACTORY = new BeanFactory();}/*** 對外提供一個獲取BeanFactory方法* @return*/public static BeanFactory getBeanFactory(){return SingleBeanFactory.BEANFACTORY;}public Object getBean(String id) {try {Element element = getElement(id);String classPath = element.attribute("class").getValue();//根據類的全限定名創建Class對象Class<?> clazz = Class.forName(classPath);//創建實例Object obj = clazz.newInstance();//為bean對象賦值 setAttributeValue(clazz,element,obj);return obj;} catch (Exception e) {e.printStackTrace();return null;}}private Element getElement(String id) throws DocumentException {SAXReader saxReader = new SAXReader();Document document = saxReader.read("src/myconfig.xml");//精確定位到id屬性值為傳入字符串的bean元素return (Element) document.selectSingleNode("//bean[@id='" + id + "']");}private void setAttributeValue(Class<?> clazz, Element element,Object obj) throws IntrospectionException, IllegalAccessException, InvocationTargetException {Element subElement = element.element("property");//使用set方法賦值if (subElement != null) {String name = subElement.attributeValue("name");String valueStr = subElement.attributeValue("value");//創建屬性描述器PropertyDescriptor descriptor = new PropertyDescriptor(name, clazz);//獲取該屬性的修飾符String s = descriptor.getPropertyType().getName();//獲得寫方法Method writeMethod = descriptor.getWriteMethod();//調用寫方法Object value = null;if (s.equalsIgnoreCase("int")){value = Integer.parseInt(valueStr);}else if (s.equalsIgnoreCase("long")){value = Long.parseLong(valueStr);}else if (s.equalsIgnoreCase("short")){value = Short.parseShort(valueStr);}else if (s.equalsIgnoreCase("double")){value = Double.parseDouble(valueStr);}else if (s.equalsIgnoreCase("float")){value = Float.parseFloat(valueStr);}else if (s.equalsIgnoreCase("byte")) {value = Byte.valueOf(valueStr);}else{value = valueStr;}writeMethod.invoke(obj, value);}} }

?

轉載于:https://www.cnblogs.com/gdwkong/p/8453159.html

總結

以上是生活随笔為你收集整理的一个简单IOC与DI示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人免费无遮挡无码黄漫视频 | 午夜理伦三级理论 | 亚洲伦理在线 | 日韩网站在线 | 色哟哟国产精品色哟哟 | 欧美成网站 | 日日操影院 | 国产色无码精品视频 | 亚洲自拍偷拍综合 | 国产一区二区三区日韩 | 翔田千里在线播放 | 老男人av| 四虎影视免费在线观看 | aaaaa级片 | 影音先锋中文字幕一区二区 | 日日狠狠 | 亚洲情热 | 日韩二区视频 | 亚洲av成人一区二区 | 久久九九久久九九 | 阿v天堂网 | 深夜福利院 | 日日干夜夜爱 | 欧美一级录像 | a级一级片| 欧美极品少妇xxxxⅹ喷水 | 国产对白刺激视频 | 成人拍拍拍 | 影音先锋中文字幕在线视频 | 日韩一级淫片 | 久草久草 | 图片区 小说区 区 亚洲五月 | 无码人妻少妇色欲av一区二区 | 直接看毛片 | 奇米影视在线 | 玖玖在线 | 午夜91视频 | 亚洲iv一区二区三区 | 第四色成人网 | 国产艳情片 | 日韩一级片免费 | 国产精品无码专区av在线播放 | 69影院在线观看 | 在线观看av一区 | 国产伦精品一区二区三区视频我 | 人体毛片 | 国产美女自慰在线观看 | 欧美一区二区三区激情 | 奇米第四色777 | 亚洲美女视频在线 | 波多野结衣一区二区三区免费视频 | 久久社区视频 | 91禁在线动漫 | 男生操女生动漫 | 超污网站在线观看 | 日韩福利视频网 | 性生交生活影碟片 | av制服丝袜在线 | 日韩av免费网站 | 疯狂做受xxxx国产 | 嫩草嫩草嫩草嫩草嫩草嫩草 | 99久久精品一区二区三区 | 在线不卡免费av | 亚洲视频在线免费播放 | 一区二区视频国产 | 丁香色婷婷 | 欧美一级片在线 | 岳奶大又白下面又肥又黑水多 | 国产黄色特级片 | 日韩在线 中文字幕 | 不卡在线一区二区 | 狠狠插狠狠干 | 婷婷色婷婷开心五月四房播播 | 国产九色91| 亚洲午夜18毛片在线看 | 色噜噜狠狠成人中文 | 美女屁股眼视频网站 | 日本成人激情视频 | 国产乡下妇女做爰 | 欧美一级特黄aaaaaa | 成人特级片 | 国产免费成人 | av三级| 国产精品久久免费 | www.久久久久久久久久 | 日本九九热 | 啊灬啊灬啊灬秀婷 | 在线观看国产精品入口男同 | 亚洲一区二区三区中文字幕 | 日本精品一区在线观看 | 国产毛片18 | 色噜噜一区二区三区 | 国产精品久久99 | 欧美日韩在线中文字幕 | 疯狂做爰高潮videossex | 国产高潮流白浆喷水视频 | 九九午夜 | 国产成人a人亚洲精品无码 在线aa | 黄色精品 |