有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java向其他bean注入工厂类

我有一个工厂类,我想知道是否有可能将AnimalMapper工厂类注入到其他需要它的bean中

animalapper工厂类

public static Mapper create(final String type) {
    if (type.equalsIgnoreCase("dog")) {
        return new DogMapper();
    } else if (type.equalsIgnoreCase("cat")) {
        return new CatMapper();
    } ...
}

目前我正在使用AnimalMapper.create(...)


共 (3) 个答案

  1. # 2 楼答案

    你想要实现什么?类似于CDI的内容:

    public class TestClass{
    
        @Inject @Any
        Instance<Mapper> mapper;
    
        public void myMethod(){
            if(isCat()){
                mapper.select(new AnnotationLiteral<Cat>(){}).get();
            }
    
            if(isDog()){
                mapper.select(new AnnotationLiteral<Dog>(){}).get();
            }
        }
    
    }
    
    @Dog
    public class DogMapper implements Mapper...
    
    @Cat
    public class CatMapper implements Mapper...
    
  2. # 3 楼答案

    下面是示例代码

    public class TestClass{
       //member variable defination. 
    
       @Inject
       AnimalMapper animalMapper; //defining mapper instance
    }
    

    我不确定你们是否在寻找这个问题,但若你们能进一步澄清这个问题,那个么可以添加更多细节