<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 82, comments - 269, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
    如何在單元測試時,對Appfuse中POJO的屬性進行自動裝載(經過事后分析發現,不僅僅是針對POJO)
    在Appfuse中,對DAO類進行單元測試時有如下代碼
    ??? private UserDao dao = null;
    ??? private RoleDao rdao = null;
    ???
    ??? public void setUserDao(UserDao dao) {
    ??????? this.dao = dao;
    ??? }
    ???
    ??? public void setRoleDao(RoleDao rdao) {
    ??????? this.rdao = rdao;
    ??? }
    通過架構,這兩個Dao類都進行了自動裝載,后來的使用中,我才發現,所有類似的屬性都可以實現自動裝載.
    ?
    ?
    這我就奇怪了,如果這些類是在Spring的ApplicationContext中設置的,我還知道,Spring提供了很多途徑來解決自動裝載問題.但是這些單元測試的類,都是由它們來管理生成ApplicationContext的,怎么也實現了自動裝載?
    經常查看源碼,才知道原來是Appfuse架構中對DAO進行單元測試的類有一個共同的父類AbstractDependencyInjectionSpringContextTests,這個父類得到生成的ApplicationContext,會檢查自己有沒有一些屬性要實現自動裝載的,如果有就到ApplicationContext中去找,找到了就把自己子類的屬性實現自動裝載.
    ?
    最核心的代碼是:AbstractDependencyInjectionSpringContextTests中有如下方法
    ?private void injectDependencies() throws Exception {
    ? if (isPopulateProtectedVariables()) {
    ?? if (this.managedVariableNames == null) {
    ??? initManagedVariableNames();
    ?? }
    ?? populateProtectedVariables();
    ? }
    ? else if (getAutowireMode() != AUTOWIRE_NO) {
    ?? this.applicationContext.getBeanFactory().autowireBeanProperties(
    ??? this, getAutowireMode(), isDependencyCheck());
    ? }
    ?}
    ?
    ?AbstractSingleSpringContextTests類中定義了下面的方法,這個方法實現了Junit的類TestCase定義的方法,這個方法會在每個方法之前運行。
    ? ?protected final void setUp() throws Exception {
    ??this.applicationContext = getContext(contextKey());//這個contextKey方法會調用BaseDaoTestCase中定義的getConfigLocations方法
    ??prepareTestInstance();
    ??onSetUp();
    ?}
    主站蜘蛛池模板: 亚洲成a人无码亚洲成av无码 | 黄色免费网址大全| 三年片在线观看免费观看高清电影 | 亚洲人成电影在线观看青青| 美女在线视频观看影院免费天天看 | 日韩一区二区a片免费观看| 亚洲午夜一区二区电影院| 国产免费久久精品99re丫y| 亚洲一区中文字幕在线电影网| 中文字幕无码播放免费| 亚洲大成色www永久网址| 日本不卡免费新一二三区| 国产AV无码专区亚洲AV琪琪| 亚洲?V无码成人精品区日韩| 中文日本免费高清| 亚洲福利视频网址| 成人黄18免费视频| 特级毛片免费播放| 亚洲AV无码一区东京热久久| av大片在线无码免费| 亚洲av中文无码乱人伦在线观看| 国产yw855.c免费视频| 野花香在线视频免费观看大全| 亚洲免费视频网站| 在线观看免费成人| 国产精品永久免费视频| 亚洲av不卡一区二区三区| 在线看片无码永久免费视频| 特级av毛片免费观看| 久久精品国产亚洲AV果冻传媒 | 亚洲av无码不卡私人影院| 国产一区二区免费| 亚洲 日韩经典 中文字幕 | 99久久免费国产特黄| 亚洲人成在线播放| 亚洲天堂在线视频| 亚洲黄色免费网站| 日本一区二区在线免费观看| 亚洲综合激情六月婷婷在线观看| 国产色婷婷精品免费视频| 四虎影视成人永久免费观看视频|