我開始使用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。
我也檢查了項目結構中的類位置。要百分之百地確定它的位置,我已經把它與@Services打包在一起,這些服務被掃描並且運行良好。沒有效果。
我知道這似乎是非常簡單的任務,我知道這個注入是可能的(我在工作中已經看到它在項目中完成了),但不知怎的,我無法使它在我的項目中工作。
也許我缺少配置中的東西?感謝您的任何幫助:)
你弄錯了:)我正在嘗試使用@ Autowired/@Inject/@無論類裏面用@RestController註解。我做了一個小小的修改,使其更加清晰。 –
對不起,我明白了,我會看看我能否找到更好的答案。 – megalucio
這個答案可以有任何幫助嗎? http://stackoverflow.com/a/23615478/370209 或者,使用純代碼配置的更完整示例: https://teamtreehouse.com/library/displaying-validation-messages – DmytroL