2016-12-08 4 views
2

リポジトリに関する春ブートに問題があります。 私がサービスを持っている:スプリングブートCrudRepo Beanを定義する

@Service("userService") 
public class UserServiceImpl implements UserService { 

    @Autowired 
    private UserRepository userRepository; 

    @Autowired 
    private RoleRepository roleRepository; 
} 

、ここでレポ:私はこのメッセージを取得するアプリを実行すると

@Repository("userRepository") 
public interface UserRepository extends CrudRepository<User, Long> { 
    User findByEmail(String email); 
} 

Description: 

Field userRepository in com.projectWS.service.UserServiceImpl required a 
bean of type 'com.projectWS.repo.UserRepository' that could not be found. 

Action: 

Consider defining a bean of type 'com.projectWS.repo.UserRepository' in your 
configuration. 

を私は必死だ私を助けてください... これは私のメインクラスです:

@SpringBootApplication 
@Configuration 
@EnableWebMvc 
public class Main { 

    public static void main(String[] args) { 
    SpringApplication.run(Main.class, args); 
    } 
} 

別の問題は、@EnableJpaRepositoriesが認識されないことです。

+0

「認識されません」とはどういう意味ですか?おそらく、Spring Data JPAへの依存性を含まないように思えます。 (実用的なときにはコンストラクタインジェクションをフィールドインジェクションに優先します) – chrylis

+0

私はpom.xmlにすべての可能な依存性を試しました...私はパサンツの間のことを理解していません。私はこの春のおもちゃで初心者です。 –

答えて

3

最も可能性の高いあなたのMainクラスがパッケージ内に定義されており、あなたの他のパッケージがスキャン取得されていません。

てみ注釈を使用してMainクラス:

@ComponentScan("com.projectWS") 

をお使いのエラーメッセージから判断すると、あなたのパッケージレベルのトップは、あなたがJPAのための春のデータを追加していないように思えcom.projectWS

+0

ありがとう!!!私は実際にこの@ComponentScan( "com.projectWS。*")魅力 –

0

私は春のエキスパートではありませんが、これらのクラスの名前の場合が原因である可能性があります。ただ、心のテストの平和のために、このしてください:

@Service("userService") 
public class UserServiceImpl implements UserService { 

    @Qualifier("userRepository") 
    @Autowired 
    private UserRepository userRepository; 

    @Qualifier("roleRepository") 
    @Autowired 
    private RoleRepository roleRepository; 
} 
+0

既に試してみました....うまくいきません: '( –

0

から始まると仮定あなたのpom.xmlに以下を追加してください。

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-jpa</artifactId> 
    </dependency> 
関連する問題