springboot上的Singleton属性

时间:2017-05-23 23:48:11

标签: spring-boot

我可以在spring boot中创建一个singleton属性吗?

当我使用它时:

public class MessengerPlatformCallbackHandler {

    @Scope(value = "singleton")
    private Map<String, Object> conversationID = new HashMap<>();

我得到了错误:@Scope不适用于字段

TKS

2 个答案:

答案 0 :(得分:2)

您需要以这种方式创建它。

@Configuration
public class ConversationIDConfig {
    @Bean
    @Scope(value = "singleton")
    public Map<String, Object> conversationId(){
        private Map<String, Object> conversationID = new HashMap<>();
    }
}

之后你可以将它注入你想要的地方,如下所示。

public class MessengerPlatformCallbackHandler {

    @Autowired
    private Map<String, Object> conversationID;

}

答案 1 :(得分:1)

您需要以这种方式创建它。

@Configuration
public class ConversationIDConfig {
    @Bean
    public Map<String, Object> conversationId(){
        return new HashMap<>();
    }
}

然后您可以将其注入到您想要的任何位置,如下所示。

public class MessengerPlatformCallbackHandler {

    @Autowired
    private Map<String, Object> conversationId;

}