中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

獨立網(wǎng)站怎么做seo當陽seo外包

獨立網(wǎng)站怎么做seo,當陽seo外包,珠海網(wǎng)站營銷,網(wǎng)頁平面設計學什么2.16 模擬Spring IOC容器功能-1 2.17 模擬Spring IOC容器功能-2 什么是IOC? 控制反轉,把對象創(chuàng)建和對象之間的調用過程交給Spring框架進行管理使用IOC的目的:為了耦合度降低 解釋: 模仿 IOC容器的功能,我們利用 Map…

2.16 模擬Spring IOC容器功能-1

2.17 模擬Spring IOC容器功能-2

什么是IOC?

  1. 控制反轉,把對象創(chuàng)建和對象之間的調用過程交給Spring框架進行管理
  2. 使用IOC的目的:為了耦合度降低

解釋:

模仿 IOC容器的功能,我們利用 Map 集合存放需要的對象,并新建一個 conf.properties 文件存放信息,在獲取 對象?之前解析 ioc.properties 文件中的信息,利用反射技術將 conf.properties 文件中的內容通過 Class.forName 的形式解析為 Class 對象放入集合 map 中,這樣每次獲取對象都會從 map 中進行獲取,不需要再 new

Ioc.properties類:

clazz1=cn.edu.xync.myweb.reflect.Person
clazz2=cn.edu.xync.myweb.reflect.Teacher

IOCContainer類:

package cn.edu.xync.myweb.util;import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Set;public class IOCContainer {//用來存放配置文件讀取通過反射所創(chuàng)建的對象private Map<String,Object> container=new HashMap<String,Object>();public void init() {//讀取配置文件InputStream is=IOCContainer.class.getClassLoader().getResourceAsStream("ioc.properties");//通過當前類的字節(jié)碼加載器去讀取ioc.properties文件,以InputStream類型保存Properties p=new Properties();try {p.load(is);//加載文件Set<String> propertyNames=p.stringPropertyNames();//返回配置文件中所有屬性的名稱Iterator<String> its=propertyNames.iterator();//迭代器遍歷while(its.hasNext()) {String key=its.next();String value=p.getProperty(key);//通過key值拿到value,拿到value的目的時通過反射創(chuàng)建對象//通過反射創(chuàng)建出對象后,添加到Map中container.put(key,Class.forName(value).newInstance());//通過無參數(shù)的構造方法以反射形式創(chuàng)建對象}}catch (InstantiationException e) {System.err.println("通過配置文件創(chuàng)建對象錯誤,請檢查類完整的包路徑名稱和類名稱是否正確");e.printStackTrace();} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}catch (IOException e) {System.err.println("讀取配置文件錯誤,請檢查文件名稱或者路徑是否正確");e.printStackTrace();}}public void showElements() {Set<String> keys=container.keySet();//得到Map中所有key組成的SetIterator<String> its=keys.iterator();while(its.hasNext()) {String key=its.next();Object value=container.get(key);System.out.println("key:"+key+",value:"+value);}}public static void main(String[] args) {IOCContainer con=new IOCContainer();con.init();//初始化容器con.showElements();}
}

運行結果:

總結:

通過簡單的模擬ioc容器功能,再次理解ioc容器,即“控制反轉”,不是什么技術,而是一種設計思想。在Java開發(fā)中,Ioc意味著將你設計好的對象交給容器控制,而不是傳統(tǒng)的在你的對象內部直接控制,對于spring框架來說,就是由Spring來負責控制對象的生命周期和對象間的關系。

錯誤:

原因:is這個輸入流是空的。加載器沒有讀取到我的配置文件,因為我沒有將ioc.properties放在src根目錄文件中,導致讀取不到。

http://www.risenshineclean.com/news/9571.html

相關文章:

  • php 開源企業(yè)網(wǎng)站百度網(wǎng)盤網(wǎng)頁版入口
  • 懷化 網(wǎng)站建設2345網(wǎng)址導航設為主頁
  • 合肥萬戶網(wǎng)絡科技有限公司搜索引擎優(yōu)化的主要工作
  • 上虞網(wǎng)站設計城關網(wǎng)站seo
  • 沈陽做網(wǎng)站公司重慶seo排名
  • 國內課程網(wǎng)站建設現(xiàn)狀永久免費低代碼開發(fā)平臺
  • 新華社兩學一做網(wǎng)站seo整合營銷
  • 編輯網(wǎng)站內容有沒有批量辦法什么是seo關鍵詞
  • 網(wǎng)站程序和空間區(qū)別網(wǎng)絡推廣優(yōu)化網(wǎng)站
  • 寧波網(wǎng)站建設推廣公司青島百度快速排名優(yōu)化
  • 零食網(wǎng)站頁面模板湖南專業(yè)seo公司
  • 房產(chǎn)信息網(wǎng)站模板電商平臺怎么加入
  • 音樂網(wǎng)站開發(fā)參考文獻百度指數(shù)代表什么意思
  • 雞西公司做網(wǎng)站關鍵詞分為哪幾類
  • 哪有專做注冊小網(wǎng)站的客戶資源買賣平臺
  • wordpress懸浮bar深圳seo網(wǎng)站優(yōu)化公司
  • 企業(yè)網(wǎng)站怎么做推廣比較好網(wǎng)站模板建站公司
  • 二手車網(wǎng)站建站海豹直播nba
  • 做蛋糕有哪些網(wǎng)站域名查詢網(wǎng)
  • 網(wǎng)站360做的標記如何取消市場營銷策劃方案3000字
  • wordpress定時插件seo是什么意思seo是什么職位
  • 濰坊哪家網(wǎng)站制作公司好關鍵詞歌詞任然
  • 網(wǎng)站開發(fā)工程師自學個人開發(fā)app可以上架嗎
  • 營口市代做網(wǎng)站三只松鼠口碑營銷案例
  • 網(wǎng)站的標簽怎么修改做國外網(wǎng)站
  • 射陽網(wǎng)站設計b站大全永不收費2023入口在哪
  • 區(qū)塊鏈開發(fā)是什么意思常德網(wǎng)站優(yōu)化公司
  • 江西省城鄉(xiāng)建設培訓網(wǎng)-官方網(wǎng)站關鍵詞優(yōu)化簡易
  • 網(wǎng)站建設價格標準報價軟件開發(fā)交易平臺
  • 黃江做網(wǎng)站免費男女打撲克的軟件