Spring Boot - 如何手动创建bean并将其传递给哈希映射

时间:2016-10-25 15:08:33

标签: java spring spring-boot javabeans

想要在HashMap中放置一个类。为此,我用@Service创建了一个Bean。就是这样:

@Service
public class ServiceManagerImpl implements ServiceManager {

@Override
 public void registerService() {
    // registerService will put this in the HashMap!
    dispatcher.registerService("serviceList", getServiceListImpl());
 }

 @Bean
 public BusinessService getServiceListImpl() {
    return new ServiceListManager();
 }
}

这是制作这样的东西的正确方法吗?

1 个答案:

答案 0 :(得分:1)

将您的bean定义从使用@Service注释的类移动到使用@Configuration注释的配置类(或者至少移动到具有@SpringBootApplication注释的主类,如果有的话)。然后在Service类中自动装配该bean。 `

  

@Autowired BusinessService businessService

看看Where to put @Bean in Spring Boot?