2016-11-21 2 views
0

단순한 비 mvc 프로젝트를 작성하고 spring-boot-startter-validation 종속성을 추가했습니다. javax.validation.Validator를 주입하려고 시도했을 때 org.springframework.beans.factory.NoSuchBeanDefinitionException 오류가 발생했습니다.스프링 스타터 유효성 검사 및 유효성 검사기 주입

spring-boot-starter-validation은 기본 유효성 검사기 즉 LocalValidatorFactoryBean을 제공하지 않으며 스프링 부트가없는 일반 프로젝트처럼 항상 만들어야한다는 것을 의미합니까?

@Component 
public class ExampleService{ 

    @Autowired 
    private Validator validator; 

    public void someMethod(){ 
      //validation 
    } 

} 

Validator가 javax.validation 또는 org.springframework.validation 패키지에서 오작동하지 않아도 상관 없습니다.

+0

더 많은 코드와 로그를 추가 할 수 있습니까? 누락 된 빈은 무엇입니까? – terjekid

+0

가장 간단한 예제를 추가했습니다. Spring Starter Project> 유효성 검사 종속성 및이 간단한 구성 요소. 주사가 실패합니다. – swch

답변

0

없음 Beans는 당신이 바로 말의 입에서,이 스타터 다음 rationale를 참조 NoSuchBeanDefinitionException

가 발생하므로 이유 spring-boot-starter-validation 함께 상자에서 제공됩니다 이전

, 유일한 스타터를 그 제공된 유효성 확인은 spring-boot-starter-web이었고 Hibernate Validator와 Tomcat의 EL 구현이 포함되었습니다. 이로 인해 사용자는 웹 이외의 웹을 작성하여 응용 프로그램 자체에 대한 종속성을 파악할 수있게되었습니다. 그들은 EL 구현이 Hibernate Validator의 필요성에 따라 어려움에 처하게 될 때가 있습니다.

이 커밋은 새로운 스타터 spring-boot-starter-validation을 추가한다. 은 Hibernate Validator와 Tomcat의 EL 구현 모두를 제공한다. spring-boot-starter-web은 Hibernate Validator에 직접 의존하지 않고이 스타터 에 의존하도록 업데이트되었습니다.