본문 바로가기

스프링

Maven에서 Tomcat을 실행시켜 결과를 확인해보자.. 기존에 Maven을 이용해서 Spring MVC를 개발할때는 어떤식으로는 WAS가 자신의 컴퓨터에 설치되어 있어야 했다. Tomcat이든 JBoss든..아마 대부분 Tomcat을 설치해서 하겠지만.. 근데 Eclipse에서 Tomcat 기반으로 개발할땐 불편한점이 몇몇 있었다. 프로젝트 설정에서 Deployment Assembly의 속성을 건드려줘야 하고 또 pom.xml에서 dependency 태그에 있는 javax.servlet.servlet-api와 javax.servlet.jsp-api를 주석처리를 했다가 다시 war로 배포할때는 주석처리한것을 지워야 했다(scope를 provided로 해도 tomcat 기동시 오류 발생..) 그래서 이런 불편한 점을 없애볼려고 시도한것이 Jetty를 이용해서 빌..
Spring 3.1의 Controller에서 Custom Annotation을 파라미터로 이용했을때의 Map 클래스 받는 법 최근에 Spring 3.2와 마이플랫폼 연동을 하는 과정을 하면서 애로사항을 겪은 것이 있어서 이 포스트를 통해 정리하게 되었다. Controller에서 메소드의 파라미터에 Custom Annotation을 이용하여 사용자가 보낸 값을 받을때 Map으로 받는 것에 문제가 있었다. 이렇게 얘기하면 와 닿지가 않을수도 있을것 같아 예를 들어보도록 하겠다. 흔히 Controller의 메소드에서 파라미터를 사용할때 다음과 같이 상황에 맞는 적절한 어노테이션을 사용하게 될 것이다. public String getList(@RequestParam(name="no") int no) throws Exception 이렇게 파라미터를 받아다가 변수에 바로 설정하는 식의 방법을 많이 사용할것이다. 위의 예에서는 int 형으..
<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..