Java 使用Resteasy/Hibernate/Spring简化DAO层

Java 使用Resteasy/Hibernate/Spring简化DAO层,java,spring,hibernate,dao,resteasy,Java,Spring,Hibernate,Dao,Resteasy,我正在为我的dao层寻找更干净的代码: 我有一个通用dao接口: public interface GenericDAO<T> { T save(T entity); T merge(T entity); void delete(T entity); T findFromId(int id); List<T> findAll(); } public interface UserDAO extends GenericDAO<U

我正在为我的dao层寻找更干净的代码:

我有一个通用dao接口:

public interface GenericDAO<T> {
    T save(T entity);
    T merge(T entity);
    void delete(T entity);
    T findFromId(int id);
    List<T> findAll();
}
public interface UserDAO extends GenericDAO<UserPE> {  }
我希望将通用dao用于常见实体,如:

@Autowired
private GenericDAO<MyEntity> myEntityDao;
@Autowired
私有GenericDAO myEntityDao;
但是spring不想注入它(NoSuchBeanDefinitionException),我也不知道如何配置hibernate查询(它需要实体类)

我正在使用: Spring 3.1.0 休眠3.6.3 Resteasy 2.3.7

你知道吗


Thks用于阅读。

如果您使用Spring 4,您将能够使用

@Autowired
private GenericDAO<MyEntity> myEntityDao;
@Autowired
私有GenericDAO myEntityDao;
如果有一个GenericDAO的实现而不做任何其他事情

这种能力在Spring3中缺失。 查看博客文章了解更多详细信息


然而,如果将Spring4引入到项目中,可能会破坏与RestEasy的集成。这是您需要检查的内容。

感谢您的回复,我尝试使用spring 4,但我确实遇到了resteasy的问题。你知道有没有一种解决方案可以将两者结合起来吗?@NLAMY我从来没有尝试过将Spring4与RestEasy结合起来。我只使用过Spring 3.2和RestEasy,因此在这方面我无法真正帮助您:(我必须评估从RestEasy迁移到Spring web服务所需的努力。不知道是否会丢失rest功能。@NLAMY从RestEasy迁移到Spring MVC应该相当容易。
@Autowired
private UserDAO userDao;
@Autowired
private GenericDAO<MyEntity> myEntityDao;
@Autowired
private GenericDAO<MyEntity> myEntityDao;