程式間的依賴關係或者是呼叫者和被呼叫者之間的依賴關係
高耦合開發的原則:低耦合
編譯時依賴,執行時不依賴。
(團隊開發中的時候不需要等待別人)
使用反射建立類物件 class.forname(…)->新問題:若換個驅動就要改原始碼,改原始碼的話如果是上線的web專案就需要停掉伺服器更改
->使用配置檔案,通過讀取配置檔案來反射建立類物件
先寫乙個配置檔案:bean.prperties
customerservice=com.itheima.service.impl.customerserviceimpl
customerdao=com.itheime.dao.impl.customerdaoimpl
pubic class beanfactorycatch(exception e)
}其他方法:
利用bundle讀取檔案,注意:
1.它只能用於讀取properties檔案
2.只能用於讀取,不能用於寫入
3.只能用於讀取類路徑下的,不在類路徑下的讀取不了
方法的引數是按照包名.類名的方式寫的,所以請不要寫上副檔名
code:
private static resourcebundle bundle=resourcebundle.getbundle("bean");
/**根據bean的名稱建立類物件:
*/public static object getbean(string beanname)catch(exception e)
}
但是上面這種方法存在的乙個問題就是我們的執行緒安全問題,就拿servlet來說,在不同的程序中,每一次呼叫時,像碰到i++這種每一次呼叫就會使其值變化。也就是理解為:即是當我有類成員變數的時候,使用單例模式訪問,其必然會導致變數值的更改,即另乙個類成員訪問到的是上乙個物件做出了改變的成員值,
但在這個方法中使用的是方法成員,方法成員是沒有執行緒安全問題的,所以在沒有執行緒安全問題的情況下,使用單例模式更好,不用建立那麼多的物件例項
在上面的反射建立類物件的時候,我們生成了太多物件例項了,即在配置檔案中有很多值的話,將會建立很多的物件。
所以在這裡我們使用map來儲存返回的類物件,也便於查詢。
private static mapbeans=new hashmap();
//使用靜態**塊初始化map
static
}catch(exception e)
}
//根據bean的唯一識別符號獲取物件
public static object getbean(string beanname)
開發過程中錯誤總結
1 18年5月28日 說明是.xml檔案的問題。去上.xml排查,看是不是註解。或者檔案本身書寫有誤。2 linux下 webstorm,ppt,wps不能書寫漢字。在啟動檔案中修改 啟動 sudo sh webstorm.sh export xmodifiers im fcitx export q...
聊聊開發過程中的「反饋」
溝通,反饋,簡單,勇氣,尊敬是敏捷開發的五個價值觀,它們深刻地反映了當前軟體開發組織中相對缺少但又對團隊建設和成功交付至關重要的東西。這裡我想聊聊反饋,但並不討論關於反饋的全部,主要是集中在對 想 與 做 的節奏的 反饋是我認為最特別的乙個價值觀。實際上,做很多事情,我們總是重複著 想 做 想 做 ...
開發過程中的加解密
1.加密演算法分為 可逆加密 對稱加密 des,3des,aes,pbe 非對稱加密 rsa,dsa,ecc 不可逆加密 單向加密 md5,sha,hmac 2.金鑰的介紹 對稱加密 將明文 密文 連同金鑰放入相應的加密 或加密容器 即可得到密文或者明文,實現加解密。在對稱加密中金鑰必須是相同的才可...