春@Autowiredは、いくつかのクラスでは動作しません

おかしいクラフター:

私は私のDBにアクセスし、別のプロパティに基づいてユーザーを取得するために春を使用していますので。@Restcontroller Iでデータを取得します。私はCrudRepositoryを拡張UserRepositoryを作成しました。

import org.springframework.data.repository.CrudRepository;

public interface UserRepository extends CrudRepository<User, Integer> {
Iterable<User> findByNachname(String nachname);

    Iterable<User> findByRolle(Rolle rolle);

    Optional<User> findByBenutzername(String benutzername);

    @Transactional
    String deleteByBenutzername(String benutzername);
}

私は私のコントローラクラスにUserRepoのインスタンスを取得するために@Autowireを使用します

@RestController
public class LoginController {
    @Autowired
    private UserRepository userRepository;
}

これは私が持っているすべてのコントローラに完全に正常に動作します。私は別のクラスで同じことをしようとすると、しかし、今userRepositoryインスタンスがnullです。

public class Authentificator {
    @Autowired
    private UserRepository userRepository;
}

AuthentificatorとLoginControllerは、同じパッケージに含まれていません。しかし、それらの両方がUserRepoと同じパッケージに含まれていません。

  • 事業
    • UserRepoパッケージ
    • コントローラ - パッケージ
    • Authentificator・パッケージ
adrhc:

あなたは確認する必要がありますAuthentificatorはまた春の豆である-私はあなたが@Componentまたは@Serviceようなもので、それに注釈を付けなければならないことを意味します。このステップの後、あなたはまた、「取得」する必要がありますAuthentificatorの代わりにそれをインスタンスの春からインスタンスを新しいキーワード。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=200984&siteId=1