1. 程式人生 > >Spring中 lookup-method 用法

Spring中 lookup-method 用法

1、官方文件解釋

If the method is abstract, the dynamically-generated subclass implements the method. Otherwise,
the dynamically-generated subclass overrides the concrete method defined in the original class. For
example:


<!-- a stateful bean deployed as a prototype (non-singleton) -->
<bean id="command" class="fiona.apple.AsyncCommand" scope="prototype">
<!-- inject dependencies here as required -->
</bean>
<!-- commandProcessor uses statefulCommandHelper -->
<bean id="commandManager" class="fiona.apple.CommandManager">
<lookup-method name="createCommand" bean="command"/>
</bean>
 

2、 個人測試

2.1 Spring中的配置

 <!-- 
        方法注入:
         因為兩個bean的生存週期可能不一致,但是他們之間有相互的關聯。
         舉例來說,一個單例的bean A 需要一個非單例的原型bean B。
         Spring容器只初始化A一次。因此只有一次機會設定B。所以A無法每次在需要的時候提供一個新的物件B。
     -->
    <bean id="people" class="cyz.method.injection.People" scope="prototype">
        <property name="name" value="群演"></property>
    </bean>
    
    <bean id="movie" class="cyz.method.injection.Movie" scope="singleton">
        <lookup-method name="getActor" bean="people"></lookup-method>
    </bean>

其中Movie是一個介面,它沒有任何實現類。

通過lookup-meghod可以建立一個實現了Movie介面的類,然後可以呼叫它的getMethod方法取得名為people的bean。

相關推薦

Spring lookup-method 用法

1、官方文件解釋 If the method is abstract, the dynamically-generated subclass implements the method. Otherwise, the dynamically-generated subcla

Springfactory-method用法

1. 通過靜態方法例項化一個bean,例項化出來的bean的型別對應於靜態方法的返回型別,這地點不同於普通的bean    (1) 靜態方法無引數:    <bean id="thefmbean" class="springtest.FactoryMethodBean

spring @import的用法

get abstract strac new artifact png release ide rac 第一步: 新建Java工程 FirstSpringJAVA 第二步:導入相關的spring jar包 <dependency> &l

springlookup-method & replace-method

replace ins cer match generate declare rri 單例 原型 初始化bean的堆棧: at org.springframework.beans.factory.support.CglibSubclassingInstan

springlookup-method & replaced-method II

tail art bject 完全 過去的 spring 因此 player imp 顯然, lookup-method 的name 對應的方法 是可以有方法參數的, 但是, 我發現, 參數無法傳遞, 傳過去的參數好像被丟入了黑洞一般。。。 非常奇怪。 lookup-me

SpringBoot | 第十一章:Springapplication.properties用法大全

對 Spring 裡面的 Properties 不理解的開發者可能會覺得有點亂,主要是因為配置方式很多種,使用方式也很多種。 本文不是原理分析、原始碼分析文章,只是希望可以幫助讀者更好地理解和使用 Spring Properties。 Properties 的使用 先來看看 Prop

SpringApplicationContextAware介面用法

載入Spring配置檔案時,如果Spring配置檔案中所定義的Bean類,如果該類實現了ApplicationContextAware介面,那麼在載入Spring配置檔案時,會自動呼叫ApplicationContextAware介面中的 public void setAp

SpringjdbcTemplate的用法例項(一)

一、首先配置JdbcTemplate; 要使用Jdbctemplate 物件來完成jdbc 操作。通常情況下,有三種種方式得到JdbcTemplate 物件。        第一種方式:我們可以在自己定義的DAO 實現類中注入一個DataSource 引用來完 成Jdbc

spring@Async的用法

在Java應用中,絕大多數情況下都是通過同步的方式來實現互動處理的;但是在處理與第三方系統互動的時候,容易造成響應遲緩的情況,之前大部分都是使用多執行緒來完成此類任務,其實,在spring 3.x之後,就已經內建了@Async來完美解決這個問題,本文將完成介紹@

spring的task用法案例

spring定時任務一 在xml中加上定時任務的名稱空間。程式碼:1. xmlns:task="http://www.springframework.org/schema/task"2. http://www.springframework.org/schema/task h

springjdbc.properties用法

jdbc.properties程式碼: jdbc.driverClassName=oracle.jdbc.driver.OracleDriver jdbc.url=jdbc:oracle:thin:@10.10.1.1:1521:ORCL jdbc.username=tes

Springfactory-method的使用

        除了constructor-arg和property裝配bean的方式,我們還可以通過bean的factory-method方法裝配bean,factory-method表示的是工廠方

?springafterPropertiesSet方法與init-method配置描述

.post -m sse vax 註解 ota troy 一次 exc spring中afterPropertiesSet方法與init-method配置描述 1. InitializingBean.afterPropertiesSet()Spring中Initializi

springafterPropertiesSet方法與init-method配置描述

daemon sset end msg redis his === all HR ---恢復內容開始--- 今天看了前輩們寫的代碼用到了afterPropertiesSet()的方法,就好好整理了spring的bean加載 1. InitializingBean.after

Spring構造器、init-method、@PostConstruct、afterPropertiesSet孰先孰後,自動註入發生時間以及單例多例的區別

但是 lan 構造方法 nes src 調用父類構造方法 pos print 提醒      首先明白,spring的IOC功能需要是利用反射原理,反射獲取類的無參構造方法創建對象,如果一個類沒有無參的構造方法spring是不會創建對象的。在這裏需要提醒一下,如果我們在c

4.spring JDBC的基本用法

1.Spring的jdbc的基本用法: 2.spring的ioc配置以及以及增刪改查 3.策略模式 4. JDBCDaoSupport 其中優化部分,抽取重複程式碼段!如下圖方法!原理:因為子類自動會繼承父類中protected和public方法!

spring深入學習(八)IOC 之解析 bean 標籤:meta、lookup-method、replace-method

BeanDefinition中已經完成了對 Bean 標籤屬性的解析工作,這篇博文開始分析子元素的解析。完成 Bean 標籤基本屬性解析後,會依次呼叫 parseMetaElements()、parseLookupOverrideSubElements()、parseReplacedMet

Spring@Async用法詳解及簡單例項

Spring中@Async用法 引言: 在Java應用中,絕大多數情況下都是通過同步的方式來實現互動處理的;但是在處理與第三方系統互動的時候,容易造成響應遲緩的情況,之前大部分都是使用多執行緒來完成此類任務,其實,在spring 3.x之後,就已經內建了@Async來完美解決這個問題,本文將完成

Spring MVC Session的用法

Spring MVC是個非常優秀的框架,其優秀之處繼承自Spring本身依賴注入(Dependency Injection)的強大的模組化和可配置性,其設計處處透露著易用性、可複用性與易整合性。優良的設計模式遍及各處,使得其框架雖然學習曲線陡峭,但一旦掌握則欲罷不能。初學者

Spring@Async用法總結

引言: 在Java應用中,絕大多數情況下都是通過同步的方式來實現互動處理的;但是在處理與第三方系統互動的時候,容易造成響應遲緩的情況,之前大部分都是使用多執行緒來完成此類任務,其實,在Spring 3.x之後,就已經內建了@Async來完美解決這個問題,本文將完成介紹@As