簡體   English   中英

Spring Prototype bean具有不同的參數

[英]Spring Prototype bean with different parameters

我想將一個原型scoped bean注入一個單例。 這個原型bean只應為它注入的每個Singleton創建一次(據我所知,默認情況下是這種情況)。 但是,我確實希望每次都有一個稍微不同的bean,所以我希望能夠使用在構造原型bean時使用的自定義注釋來注釋注入點。

問題是,我如何找出注入點上的注釋?

這里有一些代碼可以看到我想要實現的目標:

@Component
public class X {
    @Inject
    @CustomAnnotation("Hi")
    private PrototypeBean bean;
}

PrototypeBean由bean方法提供:

@Bean
public PrototypeBean prototypeBean(CustomAnnotation customAnnotation) {
    return new PrototypeBean(customAnnotation);
}

這里的想法是,在注入PrototypeBean的任何地方,都會創建一個新實例,它根據CustomAnnotation的值略有不同。

我知道你可以使用ApplicationContext做到這一點(好吧,傳遞額外的參數,而不是注釋),但我想用簡單的注釋保持它的輕量級。

也許您需要的是自定義BeanPostProcessor 本博文中的“3.2數據訪問”一節“ 更好的DAO的Spring自定義注釋 ”看起來與您嘗試做的非常相似。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM