2016-09-15 4 views
2

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 패키지를 패키지에 넣었습니다. 효과가 없습니다.

나는 이것이 꽤 쉬운 작업 인 것으로 알고 있으며,이 주입이 가능하다는 것을 안다. (나는 내 ​​작업에서이 프로젝트를 보았다.) 어떻게 든 내 프로젝트에서 그것을 작동시킬 수는 없다.

어쩌면 구성이 잘못되어있을 수 있습니까? 어떤 도움을 주셔서 감사합니다 :)

답변

0

@Configuration으로 주석 된 클래스에서 @Autowired를 사용하면 별도의 구성 파일에 정의 된 bean을 참조하는 것입니다. 다른 파일에서도 @Configuration 주석으로 선언됩니다.

@Component로 주석 된 유효성 검사기와 같은 다른 암시 적 bean을 참조하려면 @Component, @Service, @Controller 등의 암시 적 표기법으로 주석을 추가 한 다른 암시 적 빈에서 수행해야합니다.

@Autowired는 동일한 인터페이스를 구현하는 클래스가 두 개 이상인 경우에만 작동해야합니다. 그 때 @Qualifier를 사용해야 할 때입니다.

+0

당신은 틀렸어. @ @ Autowired/@ Inject/@를 사용하려고한다. @RestController 주석이 달린 내부 클래스. 좀 더 명확하게하기 위해 작은 편집을했습니다. –

+0

실례합니다, 알겠습니다. 더 나은 대답을 찾을 수 있는지 알게 될 것입니다. – megalucio

+0

이 답변은 도움이 될 수 있습니까? http://stackoverflow.com/a/23615478/370209 또는 코드 전용 구성을 사용하는 훨씬 더 완벽한 예 : https://teamtreehouse.com/library/displaying-validation-messages – DmytroL