JHipster v.3.5.1を使用してアプリケーションを生成することから始めました。SpringのValidator実装をインジェクトする方法は?
しばらくして、POSTで作成されたエンティティでビジネスロジック検証を実行するためにバリデータを作成する必要がありました。だから私は作っ:
@Component
public class MyValidator implements Validator
その後、私は(@RestControllerで注釈さ)私のコントローラに注入しようとしたが、私が試した方法に関係なく、それは常にそのようなものになった:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.my.app.service.domain.MyValidator] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency.
私は、Beanを作成し、
@Autowired
private MyValidator myValidator;
@Inject
private MyValidator myValidator;
@Autowired
@Qualifier("myValidator")
private MyValidator myValidator; (with @Component("myValidator") on class)
@Inject
@Qualifier("myValidator")
private MyValidator myValidator; (with @Component("myValidator") on class)
//Below was inserted in class annotated with @Configuration
@Bean
public MyValidator myValidator() {
return new MyValidator();
}
それを注入しようとした
つの方法は、しかし、私はそれを試してみました - それが失敗しました。私はいつもNoSuchBeanDefinitionExceptionを持っているか、フィールド値がnullに設定されています。
私はまた、プロジェクト構造内のクラスの場所を確認しました。 100%確実に配置されていることを確認するために、スキャンしてうまく動作する@Servicesをパッケージに入れました。無効。
私はそれがかなり簡単な作業であることを知っています。私はこの注入が可能であることを知っています(私はそれが私の仕事でプロジェクトで行われているのを見ました)が、どういうわけか私のプロジェクトでそれを働かせることができません。
多分設定に何か不足していますか?助けをありがとう:)
あなたはそれが間違っている:) @RowControllerで注釈された@ Autowired/@ Inject/@何でも内部クラスを使用しようとしています。私はそれをより明確にするために小さな編集をしました。 –
よろしくお願いします。もっと良い答えが見つかるかどうかわかります。 – megalucio
この回答は役に立ちましたか? http://stackoverflow.com/a/23615478/370209 コード専用設定のさらに完全な例: https://teamtreehouse.com/library/displaying-validation-messages – DmytroL