"유효한 XIFF 서비스 Y가 Z를 반환합니다"형식의 비즈니스 유효성 검사 논리를 가지고 있는데, 여기서 X와 Z는 컴파일 타임에 알려져 있고 Y의 위치는 Spring 구성에서로드됩니다 파일.런타임 최대 절전 모드 유효성 검사 주석 구성
내가 함께 봄 설정으로, JSR-303 주석 기반의 유효성 검사를 사용하고 싶습니다, 그래서 나는 다음과 같은 코드를 작성할 수 있습니다
사용자 정의 클래스 수준의 제약 주석 :
@MyValidation
public class X { .... }
을 @MyValidation에 대한 ConstraintValidator :
public class MyValidationValidator implements ConstraintValidator<MyValidation, X> {
private MyService service;
public MyService getService() { return service; }
public void setService(MyService serv) { this.service = serv; }
//Validation Logic...
}
봄 설정 :
<bean id="ServiceY" class="...">
...
</bean>
<bean id="mvv" class="MyValidationValidator">
<property name="service" value="ServiceY" />
</bean>
그러나 유효성 검사기의 속성이 설정되지 않아서 이러한 방식으로 결합하려는 시도가 실패했습니다.
지금 당장 스프링 AOP 인터셉터를 사용하여 해결 방법을 사용하고 있지만 이는 이상적이지 않습니다.
다른 질문 중 하나는 나를 속성 파일/속성을 사용하여 생각하게 만들었지 만 서비스 구성을 반복해야하지 않을까요?
프로그래밍 방식으로 제약 조건 매핑을 정의한 다른 언급이 있지만 필자가이를 수행하고 있다면 필자의 대안을 사용하는 것이 좋습니다.
동적 구성을 수행하는 방법에 대한 단서가 있습니까?
이<bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
그 방법이 내부적으로 생성 된 검증 인스턴스에 대한 의존성 주입을 수행하는 ConstraintValidatorFactory
구현을 사용 설정 발리 데이터, 단지 service
표시 :