Spring如何创建CrudRepository接口+ CustomRepositoryInterface的实现?

时间:2015-11-08 16:33:25

标签: spring repository spring-data-jpa crud

HY,

我在Spring中有下一个代码

    @Repository
     public interface UserRepository extends CrudRepository<User, String>,     
         UserRepositoryExtension<RosterUser> {
      ...any custom spring JPA methods...

   }

扩展接口:

    public interface UserRepositoryExtension <T> {
       public T put(T entity);
   }

扩展接口的实现

    public class UserRepositoryExtensionImpl implements       
     UserRepositoryExtension<User> {
 @Autowired
EntityManager entityManager;



@Override
public User put(User user) {
    entityManager.....(any logic here)
}...

}

我知道Spring能够在启动时创建UserRepository + CrudRepository接口方法的实现,但我没有得到的是:

  1. spring如何创建这些实现并将它们与我的UserRepositoryExtensionImpl实现相结合(幕后会发生什么?)

  2. Spring如何知道在注入时创建的UserRepository + CrudRepository实现类中使用的entityManager?它从上下文中获取entityManager,还是从声明了entityManager的UserRepositoryExtensionImpl类中获取?

  3. 由于

0 个答案:

没有答案