Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring一般实现@Inject还是@Autowired?_Java_Spring_Inject - Fatal编程技术网

Java Spring一般实现@Inject还是@Autowired?

Java Spring一般实现@Inject还是@Autowired?,java,spring,inject,Java,Spring,Inject,我有一个这样的通用接口: public interface DaoClass extends Closeable { } 我有许多接口实现: public interface PersonDao extends DaoClass { Person getPerson(long personNo); } public interface BusinessDao extends DaoClass { void setAddress(long businessNo, String a

我有一个这样的通用接口:

public interface DaoClass extends Closeable {
}
我有许多接口实现:

public interface PersonDao extends DaoClass {
    Person getPerson(long personNo);
}
public interface BusinessDao extends DaoClass {
    void setAddress(long businessNo, String address);
}
我有这样一个函数:

public class DaoClassFactory {
    public static <T extends DaoClass> T create(final Class<T> daoClass) {
        // custom logic to return instance of this daoClass
    }
}
@Controller
的顶部,通过调用
DaoClassFactory.create()
来创建bean,然后在bean上调用
.close()
方法进行清理

有没有一种通用的方法可以做到这一点,而不用在XML中列出每种类型的单独工厂?我找不到任何办法


多谢

也许值得一读。您应该能够通过配置超类,然后使用组件配置继承来定义常见行为。你试过了吗?所有这些从超类(DaoClass)继承的都是.close()方法,否则它们是不同的,所以baeldung.com方法似乎不适用。配置超类和使用组件配置继承?我找不到关于那个的任何东西。不过,我希望避免对每个接口进行单独的配置。
@Inject PersonDao personDao;
@Inject BusinessDao businessDao;