java - 如何根据输入创建不同的 spring beans

标签 java spring

所有类都是从同一个接口(interface)实现的。根据我们收到的输入值,创建 bean 的最佳方法是什么。

如果值为 a,则需要调用一个类,而如果值为 b,则需要调用不同的类。

最佳答案

你云尝试这样的事情:

    @Component
public class SomeServiceFactory {

    @Autowired
    private Someservice someserviceA;

    @Autowired
    private Someservice someserviceB;

    @Autowired
    private MyServiceThree SomeserviceC;

    public SomeService getSomeService(String serviceType) {         

        if (serviceType.equals("A")) {
            return someserviceA;
        } else if (serviceType.equals("B")) {
            return someserviceB;
        } else {
            return someserviceC;
        } 
}
}

关于java - 如何根据输入创建不同的 spring beans,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61399626/

相关文章:

java - spring-security-samples-form-jc登录如何重定向到inbox.jsp?

java - Spring:将String List的所有值注入(inject)bean

java - Java 进程退出,退出代码为 -805306369 (0xCFFFFFFF)

java - 在自动配置期间由 ImportBeanDefinitionRegistrar 创建的 Bean 不适合所有 Bean 后处理器

java - Spring IOC Bootstrap是否可能

java - 使用 Spring Data JPA @LastModifiedDate 从审计中排除某些字段

java - 无法在 IntelliJ 中调试 Spring Boot

java - 通用深度比较等于

java - 有效的 JUnit 测试

java - 通过 css 类名 javafx 添加事件