본문 바로가기

전체 글

<mvc:annotation-driven> 태그 설정으로 올라오는 bean 태그 내용(3.1 버전용) 예전에 포스트 했던 내용중 을 Spring 환경설정 파일에 넣었을 경우 내부적으로 어떤 Bean 설정들이 되는지를 다뤘던 내용이 있었다. 그러나 Spring이 3.1 버전으로 바뀌면서 이 부분도 변화를 겪게 되어 이 부분에 대한 정리도 새로 하게 되었다. Spring이 3,0에서 3.1 버전으로 바뀌면서 Spring MVC에 변화가 생겼기에 이 부분에 변화가 생긴 것이다. 변화가 된 내용은 구글링 해보면 나오니 구글링 하기 바란다. 주석을 이용해서 약간의 설명을 추가해두었다. 주석을 읽어보길 바란다
Custom Annotation을 이용한 객체 검증 작업..(3) 이제 마지막으로 이렇게 검증 작업을 할때 에러 메시지를 출력하는 것과 어떤 기준으로 에러 메시지를 골라서 출력하는지에 대해 설명하고자 한다. Spring에서 객체 Binding 관련 에러 메시지를 관리할때는 일종의 규칙이 존재한다. 예를 들어 이제껏 설명한 예였던 입력한 값을 객체에 Binding 하면서 데이터 중복을 체크하는 과정에서의 에러 메시지에 대한 내용을 얘기해보자. 데이터 중복에 대한 메시지는 여러 형태를 가질수 있다. 단순히 "이미 입력된 값입니다" 도 있을수 있고 "입력한 이름은 이미 입력된 값입니다" 이렇게 나타낼수도 있다. 하지만 그렇다 해도 중복 에러에 대한 에러코드는 변함이 없어야 한다. "이미 입력된 값입니다"의 에러코드는 ExistCheck이고 "입력한 이름은 이미 입력된 값입니..
Custom Annotation을 이용한 객체 검증 작업..(2) 저번 포스팅에 이어서 이번엔 ConstraintValidator 인터페이스를 구현하여 검증 역할을 하는 클래스인 ExistCheckValidator가 사용하는 비즈니스 서비스와 이를 Controller 및 jsp에서 어떻게 표현되는지를 다뤄보고자 한다. ExistCheckValidator 클래스는 검증 업무를 하는 서비스인 ValidateService 클래스 객체를 갖고 있다. ValidateService는 중복여부를 체크하는 함수인 existCheck 함수만 정의되어 있는 인터페이스이며 ExistCheckValidator 클래스에는 ValidateService 인터페이스를 구현한 클래스인 ValidateServiceImpl 클래스가 DI된다. 그런 내용을 알고 다음에 나오는 ValidateService..
Custom Annotation을 이용한 객체 검증 작업..(1) 이번 포스팅에서는 Spring에서 모델(Model)을 검증(Validate)하는 부분을 다뤄보고자 한다. 이 포스팅을 Spring을 잘 다루지 못하는 초보분들도 보시겠지만 지금 다루고자 하는 글은 약간 응용편이기 때문에 모델을 검증하는 기본적인 내용은 책이나 인터넷을 보시길 바란다. 책이나 인터넷에 이미 나와있는 뻔한 내용을 포스팅해봤자 보는 사람이나 글을 쓰는 사람이나 별 의미가 없기 때문이다. 개인적으로 Spring Controller에 값을 전달할때 Model 개념을 잘 사용하는 편이 아니다. 개인적으로 Model을 이용해서 등록하는 방법보다 Ajax를 통하여 등록하는 방법을 사용하고 등록에 대한 결과를 JSON 문자열로 받아 클라이언트에서 받은 JSON 문자열 값을 분석하여 그에 맞는 행동을 하도..
@Configuration과 @Bean을 이용한 Spring Framework 환경 설정의 Java 코드화.. 흔히들 Spring Framework(이하 Spring)를 사용하면서 가장 많이 사용하는 환경설정 방법이 아마 XML일것으로 생각한다. 그나마 2.5때는 Spring에서 사용되는 모든 Bean을 전부 XML에 등록하는 식으로 개발 가이드가 되었기 때문에 Spring에서 사용하는 모든 Bean과 Bean들간의 연결 설정을 XML에 기록해야만 했다(참고로 필자가 Spring Framework를 실제 프로젝트에서 적용한건 Spring Framework 3.0.X버전대 부터이지만 필자의 지인의 경우는 Spring Framework 2.5.X 대 버전으로 프로젝트를 진행했었던지라 그 경험에 비추어 적어놓는다). 그러나 Spring 3.0.X대 부터는 어노테이션을 이용한 Bean의 등록 및 Bean들 간의 연결 설..
Eclipse Indigo 64 Bit를 이용한 전자정부 프레임워크 설정 및 예제 프로젝트 만들기...(2) 지난 글에선 Eclipse Indigo 64 Bit에 전자정부 프레임워크 플러그인을 설치하는 과정을 살펴보았다. 이제 전자정부 프레임워크 설치를 마쳤으니 예제 프로젝트를 하나 만들어보도록 하자. 전자정부 프레임워크는 자체적으로 게시판 샘플 프로젝트를 제공하고 있다. 이 예제 프로젝트를 이용해서 전자정부 프레임워크에서 프로젝트를 만들때 신경써야 하는 것들을 몇가지 언급하도록 하겠다. 그리고 이 글에서는 프로젝트의 소스 코드 분석 같은 내용은 다루질 않는다. 어디까지나 전자정부 프레임워크를 이용해서 프로젝트를 만들때의 생각해야 하는 것들만 다룰것이다. 이제 본격적으로 만들어보도록 하자. File -> New -> eGovFrame Web Project 를 선택하면 다음의 대화상자가 나타난다 Target Ru..
Eclipse Indigo 64 Bit를 이용한 전자정부 프레임워크 설정 및 예제 프로젝트 만들기...(1) Spring을 사용하는 개발자중 전자정부 프레임워크..에 대해 사용해보지는 않았어도 다들 한번씩은 다들 들어봤을것이다. 행정안전부가 주관하여 대형 SI 3사(삼성 SDS, LG CNS, SK C&C)가 공동으로 만든 Spring 기반 프레임워크이다. Spring을 공부한 뒤 첨으로 접했던 프로젝트가 이 전자정부 프레임워크를 사용하는 것이어서 그 프로젝트가 끝난뒤에 좀더 알고 싶어서 교육도 받아보았다. 그러나 내가 느낀것은 기대보단 실망이 컸다. 아마 호기심에 이 전자정부 프레임워크를 받아보고 셋팅한 사람들이 모두 느꼈으리라 생각이 되는데 셋팅이 정말 쉽지가 않다. 여기서 말하는 셋팅은 PC에 전자정부 프레임워크를 설치하는 것만을 의미하는 것이 아니다. 예제를 돌려보고 프로그래밍을 하는 방법에 대한 가닥을..
Spring과 Oracle 연동시 SQL Trace 걸어두기... (2) 지난 글에서는 Spring과 Oracle DB를 연동할때 Oracle의 SQL Trace를 하기 위한 설정 내용에 대해 설명하였다. 지난 글 말미에도 얘기했지만 그 내용만으로는 SQL Trace가 실제 수행이 되지 않는다. SQL Trace를 수행하기 위한 사전 설정 작업일뿐이다. 그럼 이렇게 설정한 내용을 가지고 SQL Trace를 하는 방법에 대해 설명하도록 하겠다. 지난 글에서 Oracle 세션의 Module과 Action에 각각 Spring Connection과 SamplePrj로 설정한 것을 알고 있을 것이다. 이제 이 값을 가지고 SQL Trace를 걸어야 하는데 다음의 내용을 Toad 같은 쿼리툴에서 실행하면 된다 begin dbms_monitor.serv_mod_act_trace_enabl..