2016-06-15 78 views
3

這是具有兩種方法如何在具有相同類實現的2接口的Play框架中編寫綁定方法?

package services;//this is my service interface class 
import com.google.inject.ImplementedBy; 
import dtos.MainDTO; 
@ImplementedBy(UserServiceImpl.class) 
public interface UserService { 

    MainDTO getUserDetaile(Integer userId); 

    MainDTO getAllUserDetails(); 
} 

這是有我的第二個接口服務類中的兩個DAO查詢方法

package services;//this is my DAO interface class 
import java.util.List; 
import org.springframework.data.jpa.repository.Query; 
import org.springframework.data.repository.CrudRepository; 
import org.springframework.data.repository.query.Param; 

public interface UserRepository extends CrudRepository<Users, Long> { 

    @Query("select userId,firstName from Users where userId =:userId") 
    public List<Object[]> getUserDetails(@Param("userId") Integer userId); 

    @Query("select userId,firstName from Users") 
    public List<Object[]> getAllUserDetails(); 
} 

這是上述兩個接口的類的實現類的我的第一個接口服務類。 在第一個接口中,我註釋了@Implementedby註釋,並且它的工作正常。但是對於第二個界面需要添加什麼?

package services; 

import java.util.LinkedList; 
import java.util.List; 

import javax.inject.Inject; 
import org.springframework.stereotype.Service; 

import dtos.MainDTO; 
import dtos.UserDTO; 

@Service 
public class UserServiceImpl implements UserService { 

    private UserRepository userRepository; 

    @Inject 
    public UserServiceImpl(UserRepository userRepository){ 
     this.userRepository = userRepository; 
    } 

    @Override 
    public MainDTO getUserDetaile(Integer userId){ 
     //method implementaion goes here 
    } 
    @Override 
    public MainDTO getAllUserDetails() { 

     //method implementaion goes here 
} 

面臨的一個問題像

enter image description here

+0

http://i.stack.imgur.com/tpsvO.jpg這是我的問題,我一直在faceing –

回答

2

首先,你需要有guice-repository庫添加here it is

在你的模塊,你需要安裝庫像以下

@Override 
protected void configure() { 
    //Repository classes auto-scanned by package name 
    install(new ScanningJpaRepositoryModule(repositoriesBasePackageName, persistenceUnitName)); 
} 

一旦你的回購協議掃描,你可以注入你的界面直接進入您的服務或您想去的地方。

全部細節可以找到here

Play模塊的有效構造函數如下所示。

public YourModule(Environment environment, Configuration configuration) { 
     this.environment = environment; 
     this.configuration = configuration; 
    } 
+0

首先感謝你的朋友。我按照你所說的。但現在我顯示的問題像沒有有效的構造函數模塊[模塊]不能實例化。 –

+0

@HaiPandu我已經用Play模塊的有效構造函數更新了答案。 –

相關問題