맨 밑에줄은 이런 내용인것 같습니다.
서비스에서 검증했는데 실패하면 예외를 던지게 하고, 그걸 컨트롤러에서 무조건 잡아서 화면으로 에러 전달하도록.. 예외처리를 강제화 할
수 있게 체스 예외를 사용하는게 좋겠다는 내용입니다.
(흠.. 마치.. 제가 무슨 성경을 해석해드리는 사람 같군요.ㅋㅋㅋ)
...
//하악하악 저기서... 모델에다 에러 정보 담아서 화면에 전달해주면 어떤 검증 에러나 난건지 사용자에게 보여줄 수 있겠죠. 아마도..
그런 내용이지 싶습니다.
> 아 제가 바보였습니다.
> Maven을 쓰는데, pom.xml <dependency> 설정때문에 참조를 못하는모듈쪽에서 작업해서 ㅡ.ㅡ;;;
> 당연히 import조차 안돼는건데 ㅎㅎㅎ
> 백기선님 정말 감사하고 죄송합니다.ㅡㅡ
> 참고로 서비스객체에서 사용할때는
> @Autowired
> ProductValidator productValidator;
> .
> .
> BeanPropertyBindingResult result = new
> BeanPropertyBindingResult(product, "Errors");
> this.categoryValidator.validate(product, result);
> 이런식으로 해서 result를 사용하면 되는군요.
> 근데 아직도 P1227 맨밑에 단락에 나온말들은 어떻게 해야할지 모르겠네요^^
> On 1월13일, 오후9시31분, 백기선 <whiteship2...@gmail.com> wrote:
> > 넹 예제 코드에는 안나와있나보네요.
> > 책을 열어봤더니 그렇게 적혀 있군요. Validator를 서비스 계층에서도 활용할 수 있다는.. 그래서 서비스 계층에
> validator
> > 주입해놓고 검증 로직을 수행하느라..
> > this.validator.validate(product, BeanPropertyBindingReult bpResult);이런식으로
> > > 해야할것 같은 분위기인데요.ㅎㅎ
> > 이렇게 될 수도 있겠네요. 근데.. 이렇게 하면 안되나요? 왜 '흑' 이라고 하셨는지 궁금하기도.. 안궁금하기도.. @_@
> > 근데 서비스 계층에서 쓸때는 체크예외를 던지라고 나와있던데,이건 어떻게 해야한다는 거죠?^^
> > 이건 또 몇 페이지에 나와있는 이야기인지.. 궁금하기도 하고 안궁금하기도.. @_@
> > 친절한 박성철님과 정상혁님께서 해결해 주실겁니다.
> > 2011년 1월 13일 오후 8:35, 용이 <clov4l...@naver.com>님의 말:
> > > 예제 CD를 분해할정도로 살펴봤는데요^^:;
> > > 예제에서는 Validator구현체에서 서비스 오브젝트를 가져와서 사용하는거네요.
> > > 책내용 대로라면 서비스 구현체에서 컨트롤러처럼 구현한 validator를 DI받고
> > > this.validator.validate(product, BeanPropertyBindingReult bpResult);
> > > 이런식으로 해야할것 같은 분위기인데요.ㅎㅎ
> > > 흑...
> > > 근데 서비스 계층에서 쓸때는 체크예외를 던지라고 나와있던데,
> > > 이건 어떻게 해야한다는 거죠?^^
> > > On 1월13일, 오후7시19분, 백기선 <whiteship2...@gmail.com> wrote:
> > > > > ~Impl은 구현체인데요. 구현체에 DI하고 로직작성하는것이 맞지요?
> > > > 넵 맞습니다. 예제코드는 CD에 들어있을지도 모릅니다.
> > > > 왜그러신지 질문 드려봐도 될까요?
> > > > JSR 303 만으로는 해결이 안되는 검증 로직도 있습니다. 그런 경우에는 스프링 Validator를 구현해서 복잡한 검증
> 로직을
> > > 그
> > > > 안에 넣기도 합니다.
> > > > 그나저나 1227p까지 보셨다니... 멋지십니다!!!
> > > > 2011년 1월 13일 오후 7:13, 용이 <clov4l...@naver.com>님의 말:
> > > > > 어쩌다보니 질문을 많이하게되네요.^^;;
> > > > > 토스3 13장 스프링 @MVC
> > > > > P1227
> > > > > *서비스계층 오브젝트에서의 검증
> > > > > 음 테스트를 해보았는데요.
> > > > > 책에는 간단하게 기술하셨는데, 컨트롤러와 같은방법으로는 DI가 되지 않는군요.
> > > > > xxxxService, xxxxServiceImpl, xxxxDao, xxxxDaoImpl
> > > > > Service와 Dao는 인터페이스고
> > > > > ~Impl은 구현체인데요. 구현체에 DI하고 로직작성하는것이 맞지요?
> > > > > 예제코드가 조금이라도 있었음 좋았을텐데 ㅠㅠ
> > > > > 제상황은...
> > > > > org.springframework.validation.Validator 스프링 Validator를 사용하고요.
> > > > > 물론 <mvc:annotation-driven />을 기입해서
> > > > > 디폴트 발리데이터가 빈검증기 이긴합니다 (JSR-303)
> > > > > 하지만
> > > > > <bean id="productValidator"
> > > > > class="com.test.validation.validator.ProductValidator" />
> > > > > 와 같이 빈등록을 하고 org.springframework.validation.Validator구현체를 작성해서
> > > > > @Autowired로 DI받아서
> > > > > 컨트롤러에서는 무리없이 잘쓰고있습니다.
> > > > > JSR-303을 여러가지 이유로 포기했는데, (메시지 컨트롤이 힘들고 등등.....그룹등등)
> > > > > 이부분에서 막히네요...
> > > > > 도움 부탁드립니다^^
> > > > > 참 그리고 여기 계신분들중에서도 JSR-303대신 Spring Validator를 사용하고 계신 분이 계시다면
> > > > > 왜그러신지 질문 드려봐도 될까요?
> > > > > --
> > > > > Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> > > > > 이 그룹에 게시하려면 ksug@googlegroups.com(으)로 이메일을 보내세요.
> > > > > 그룹에서 탈퇴하려면 ksug+unsubscribe@googlegroups.com<ksug%2Bunsubscribe@googlegroups.com>
> <ksug%2Bunsubscribe@googlegroups.com<ksug%252Bunsubscribe@googlegroups.com>
> > > <ksug%2Bunsubscribe@googlegroups.com<ksug%252Bunsubscribe@googlegroups.com>
> <ksug%252Bunsubscribe@googlegroups.com<ksug%25252Bunsubscribe@googlegroups. com>
> > > >로
> > > > > 이메일을 보내주세요.
> > > > > 더 많은 옵션을 보려면http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.
> > > > --
> > > > 좋은 하루 되세요~
> > > --
> > > Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> > > 이 그룹에 게시하려면 ksug@googlegroups.com(으)로 이메일을 보내세요.
> > > 그룹에서 탈퇴하려면 ksug+unsubscribe@googlegroups.com<ksug%2Bunsubscribe@googlegroups.com>
> <ksug%2Bunsubscribe@googlegroups.com<ksug%252Bunsubscribe@googlegroups.com>
> >로
> > > 이메일을 보내주세요.
> > > 더 많은 옵션을 보려면http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.
> > --
> > 좋은 하루 되세요~
> --
> Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> 이 그룹에 게시하려면 ksug@googlegroups.com(으)로 이메일을 보내세요.
> 그룹에서 탈퇴하려면 ksug+unsubscribe@googlegroups.com<ksug%2Bunsubscribe@googlegroups.com>로
> 이메일을 보내주세요.
> 더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.