看jdon原始碼關於依賴反射的一點疑惑
我看jdon裡面配置service的時候依賴一些component的時候,並沒有指明依賴那個component呢,
如:<pojoService name="accountService"
class="com.jdon.jivejdon.service.imp.account.AccountServiceImp"/>
然後我看程式碼:
public AccountServiceImp(AccountDao accountDao, SequenceDao sequenceDao,
SessionContextUtil sessionContextUtil, JtaTransactionUtil jtaTransactionUtil,
ResourceAuthorization resourceAuthorization,
OldUpdateNewUtil oldUpdateNewUtil,
EmailHelper emailHelper) {
this.accountDao = accountDao;
this.sequenceDao = sequenceDao;
this.sessionContextUtil = sessionContextUtil;
this.jtaTransactionUtil = jtaTransactionUtil;
this.resourceAuthorization = resourceAuthorization;
this.oldUpdateNewUtil = oldUpdateNewUtil;
this.emailHelper = emailHelper;
}
我想是不是透過 引數名來定位的,如 AccountDao accountDao ,框架就會去找component 的name是accountDao 的元件呢,如配置檔案裡就有這麼一條:
<component name="accountDao"
class="com.jdon.jivejdon.dao.filter.AccountDaoDecorator"/>
應該是這樣的吧,如果這樣,這個accountDao是一個類 例項的引數名,如何得到這個支付串呢,我試了很多方法,都只能得到類AccountDao的名字,
還有就是jf框架裡得到某個component的值是這樣的:
元件POJO獲得方法是透過WebAppUtil的getComponentInstance方法,例如在container.xml中有如下元件定義:
<component name="modelManager" class="com.jdon.model.ModelManagerImp" />
在程式中如果要獲得ModelManagerImp元件例項的方法是:
ModelManager modelManager =
(ModelManager)WebAppUtil.getComponentInstance(“modelManager”, sc);
元件例項獲得的原理實際是直接在微容器中尋找以前註冊過的那些POJO,
為什麼還要有sc這個引數啊,也就是要依賴context,為什麼不能像spring那樣直接傳入name就能得到component的object呢?
如:<pojoService name="accountService"
class="com.jdon.jivejdon.service.imp.account.AccountServiceImp"/>
然後我看程式碼:
public AccountServiceImp(AccountDao accountDao, SequenceDao sequenceDao,
SessionContextUtil sessionContextUtil, JtaTransactionUtil jtaTransactionUtil,
ResourceAuthorization resourceAuthorization,
OldUpdateNewUtil oldUpdateNewUtil,
EmailHelper emailHelper) {
this.accountDao = accountDao;
this.sequenceDao = sequenceDao;
this.sessionContextUtil = sessionContextUtil;
this.jtaTransactionUtil = jtaTransactionUtil;
this.resourceAuthorization = resourceAuthorization;
this.oldUpdateNewUtil = oldUpdateNewUtil;
this.emailHelper = emailHelper;
}
我想是不是透過 引數名來定位的,如 AccountDao accountDao ,框架就會去找component 的name是accountDao 的元件呢,如配置檔案裡就有這麼一條:
<component name="accountDao"
class="com.jdon.jivejdon.dao.filter.AccountDaoDecorator"/>
應該是這樣的吧,如果這樣,這個accountDao是一個類 例項的引數名,如何得到這個支付串呢,我試了很多方法,都只能得到類AccountDao的名字,
還有就是jf框架裡得到某個component的值是這樣的:
元件POJO獲得方法是透過WebAppUtil的getComponentInstance方法,例如在container.xml中有如下元件定義:
<component name="modelManager" class="com.jdon.model.ModelManagerImp" />
在程式中如果要獲得ModelManagerImp元件例項的方法是:
ModelManager modelManager =
(ModelManager)WebAppUtil.getComponentInstance(“modelManager”, sc);
元件例項獲得的原理實際是直接在微容器中尋找以前註冊過的那些POJO,
為什麼還要有sc這個引數啊,也就是要依賴context,為什麼不能像spring那樣直接傳入name就能得到component的object呢?
[該貼被Arsenal於2008-10-24 10:16修改過]
相關文章
- 關於如何看原始碼的一點思考原始碼
- 關於spring迴圈依賴的一點小感悟Spring
- 類的反射和依賴注入反射依賴注入
- 關於依賴注入(typescript)依賴注入TypeScript
- 從Class原始碼看反射原始碼反射
- React 原始碼中的依賴注入方法React原始碼依賴注入
- 直播軟體原始碼,pom 依賴遇到 build 下的依賴報錯原始碼UI
- js關於this的疑惑JS
- 請教一個關於 STF 依賴的 node 與 Appium 依賴的 node 版本衝突問題APP
- 我看依賴注入依賴注入
- 從原始碼解析vue的響應式原理-依賴收集、依賴觸發原始碼Vue
- Spring原始碼解析——依賴注入(二)Spring原始碼依賴注入
- 【Vue原始碼學習】依賴收集Vue原始碼
- 死磕Spring原始碼-依賴注入Spring原始碼依賴注入
- 關於Golang中的依賴注入實現Golang依賴注入
- 關於 Gradle 依賴庫的幾個東西Gradle
- 關於我對Spring迴圈依賴的思考Spring
- Vue原始碼閱讀 – 依賴收集原理Vue原始碼
- Vue原始碼閱讀 - 依賴收集原理Vue原始碼
- Spring原始碼分析:Spring的迴圈依賴分析Spring原始碼
- 【spring原始碼系列】之【Bean的迴圈依賴】Spring原始碼Bean
- 3.2spring原始碼系列----迴圈依賴原始碼分析Spring原始碼
- 利用反射機制實現依賴注入的原理反射依賴注入
- Java學習:反射的應用,依賴載入Java反射
- 「Laravel 核心學習」類的反射和依賴注入Laravel反射依賴注入
- [spring][讀書筆記]一些關於依賴注入的理解。Spring筆記依賴注入
- 關於php的try catch 使用的疑惑,希望高手指點PHP
- Spring原始碼系列:依賴注入(四)-總結Spring原始碼依賴注入
- .NET 透過原始碼深究依賴注入原理原始碼依賴注入
- Spring原始碼分析之IOC迴圈依賴Spring原始碼
- springboot bean的迴圈依賴實現 原始碼分析Spring BootBean原始碼
- 反射、特性、依賴注入、介面隔離原則反射依賴注入
- Maven 依賴關係Maven
- 多值依賴的有關概念
- 關於vim看linux 核心原始碼時的程式碼補全Linux原始碼
- Go - 關於 protoc 工具的小疑惑Go
- Spring的迴圈依賴,學就完事了【附原始碼】Spring原始碼
- Maven 原始碼解析:依賴調解是如何實現的?Maven原始碼
- 關於barryvdh/laravel-ide-helper的一些疑惑LaravelIDE