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.
콩을 만들고 주입 내가 노력
방법은
@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 패키지를 패키지에 넣었습니다. 효과가 없습니다.
나는 이것이 꽤 쉬운 작업 인 것으로 알고 있으며,이 주입이 가능하다는 것을 안다. (나는 내 작업에서이 프로젝트를 보았다.) 어떻게 든 내 프로젝트에서 그것을 작동시킬 수는 없다.
어쩌면 구성이 잘못되어있을 수 있습니까? 어떤 도움을 주셔서 감사합니다 :)
당신은 틀렸어. @ @ Autowired/@ Inject/@를 사용하려고한다. @RestController 주석이 달린 내부 클래스. 좀 더 명확하게하기 위해 작은 편집을했습니다. –
실례합니다, 알겠습니다. 더 나은 대답을 찾을 수 있는지 알게 될 것입니다. – megalucio
이 답변은 도움이 될 수 있습니까? http://stackoverflow.com/a/23615478/370209 또는 코드 전용 구성을 사용하는 훨씬 더 완벽한 예 : https://teamtreehouse.com/library/displaying-validation-messages – DmytroL