본문 바로가기

프로그래밍/Spring

전자정부 프레임워크를 Java Config 방식으로 설정해보자(context-sqlMap.xml, context-mapper.xml 변환) 지난 글에서는 DataSource 설정인 ContextDataSource 클래스를 제작하는 방법에 대해 설명하였다. 이번 글에서는 이러한 DataSource를 ibatis와 Mybatis에서 사용하는 환경설정 파일인 context-sqlMap.xml, context-mapper.xml을 Java Config 파일로 바꾸는 작업에 대해 설명하도록 하겠다. 그러나 이 파일들에 대한 변환을 본격적으로 설명하기에 앞서 Spring에서 Resource를 다루는 방법에 대해 먼저 설명을 하도록 하겠다. 왜냐면 오늘 설명하는 Resource 설정하는 방법이 지금까지 설명한 방법과는 다른 방법으로 구현하는지라 이 부분에 대한 설명을 먼저 해야 그 다음 부분을 넘어갈 수 있어서 그렇다. Spring에서는 0개 이상의 R..
전자정부 프레임워크를 Java Config 방식으로 설정해보자(context-datasource.xml 변환) 지난 글에서는 공통 설정인 ContextCommon 클래스를 제작하는 방법에 대해 설명하였다. 저번 글의 핵심은 태그의 변환이 주된 내용이었는데 잘 이해를 했는지 모르겠다. 이번에는 DataSource 설정 파일인 context-datasource.xml을 Java Config 파일로 바꾸는 작업에 대해 설명하도록 하겠다. 이 설정파일은 Sample 프로젝트에서 사용하는 데이터베이스와 연관되는 DataSource를 설정하는 환경 파일이다. 일단 여기에서 사용된 태그를 보도록 하자. context-datasource.xml에서 이 태그를 제외한 나머지 내용들은 모두 주석처리 되어 있는데 주석처리 된 내용은 HSQL을 서버모드로 사용했을때, DB를 Oracle을 사용할 때, DB를 MySQL로 사용할 때 이..
전자정부 프레임워크를 Java Config 방식으로 설정해보자(context-common.xml 변환) 지난 글에서는 AOP 관련 설정인 ContextAspect 클래스를 제작하는 방법에 대해 설명하였다. 이번엔 공통 설정으로 사용된 context-common.xml 환경파일을 Java Config 파일로 바꿔보도록 하자 본격적으로 설명하기에 앞서 context-common.xml 에서 설정하는 것이 무엇이 있는지 살펴보고 넘어가자. context-common.xml 에서 설정하는 것은 다음의 것들이다. 등록해야 할 Bean 클래스를 scan해서 대상이 되는 클래스를 자동으로 Spring Bean으로 등록하는 태그 Sample 프로젝트에서 사용되는 각종 메시지를 관리하는 ReloadableResourceBundleMessageSource 클래스를 Spring Bean으로 등록하는 태그 EgovAbstrac..
전자정부 프레임워크를 Java Config 방식으로 설정해보자(context-aspect.xml 변환) 지난 글에서는 전자정부 프레임워크의 환경설정 XML 파일을 Java Config 파일로 변환하는데 알아야 할 기본적인 내용에 대해 설명했다. 이번 글부터는 구체적으로 특정 환경 파일을 Java Config 파일로 하나하나 변환시키는 과정에 대해 다루어보도록 하겠다. 전자정부 프레임워크의 context-aspect.xml은 프로젝트에서 AOP 관련 설정이 지정된 XML 파일이다. 전자정부 프레임워크 샘플 프로젝트에서 설정된 context-aspect.xml에는 샘플 프로젝트에서 동작중인 Service Bean들이 동작 도중 예외가 발생하면 예외를 던지면서 후처리 로직으로 ExceptionTransfer.class의 transfer 메소드가 실행이 되도록 설정되어 있다. 이제 이 부분을 하나하나 바꿔보는 작..
전자정부 프레임워크를 Java Config 방식으로 설정해보자(기초) 저번 글에서는 기존 전자정부 프레임워크 샘플 프로젝트의 환경 설정파일과 이에 매치되는 Java Config 설정 파일에 대해 얘기를 나누었다. 이번에는 왜 Java Config 방식으로 Spring 환경 설정을 하는지, 그리고 Java Config 파일을 만들기위해 알아두어야 할 지식에 대해 설명하고자 한다. 개인적으로 Java Config 방식의 가장 큰 이점은 환경설정 자체가 자바 코드이다 보니 환경 설정 과정에서 문제가 발생할 경우 이에 대한 디버깅이 쉽다는 생각을 갖고 있다. XML 환경 설정이면 Spring이 올라가는 과정에서 문제가 발생할 경우 무엇때문에 문제가 발생한건지 추적하기가 쉽지가 않다. XML에 중단점을 걸고 디버깅을 할 수가 없으니까..그러나 Java Code로 하면 Java Co..
전자정부 프레임워크를 Java Config 방식으로 설정해보자(환경구축) 예전부터 Spring MVC Project를 Java Config 방식으로 설정하는 내용에 대해 글을 쓸려고 생각했었다. 그러나 어떻게 시작하면 글을 읽는 사람에게 좀 더 와 닿는 내용이 될 수 있을까..란 부분에 대해 고민하다보니 쉽지가 않았다. 그러다가 전자정부 샘플 프로젝트를 보면서 이 XML 기반의 프로젝트를 Java Config 방식으로 바꾸는 방법에 대해 언급하면 맨바닥에 걍 Java Config 방식으로 만드는 것보 다는 이해하기 쉬운 내용이 나올수도 있겠다란 생각이 들어 지금부터 이 내용에 대해 글을 써보고자 한다. 여기서는 JDK 1.7, 전자정부 프레임워크 개발환경의 최신버전인 3.5.1을 사용하며 Web Container로 Tomcat 7.0을 사용했다. 그리고 앞으로 계속 설명하게 ..
SpringFramework의 Converter를 이용하여 업로드된 파일을 객체로 변환해보자 (3) 지난 글에서는 MultipartFile 클래스 객체를 우리가 원하는 VO 클래스(FileVO 클래스)로 변환하는 Converter 인터페이스를 구현한 클래스에 대해 살펴보았다. 이번은 마지막 글로 이렇게 만든 Converter 인터페이스를 구현한 클래스를 어떻게 사용하는지에 대해 알아보자. MultipartFile 클래스 객체를 FileVO 객체로 변환하는 작업은 웹페이지에서 데이터를 전송해서 이를 객체로 Binding 하는 과정에서 일어나게 된다. 즉 데이터 전송시 파일을 업로드 했으면 이를 FileVO 객체로 변환한뒤 이를 Controller의 메소드에서 사용되어지는 것이다. 그렇기 때문에 이러한 역할을 하는 Converter 인터페이스를 구현한 클래스는 Spring의 Servlet Context에 ..
SpringFramework의 Converter를 이용하여 업로드된 파일을 객체로 변환해보자 (2) 지난번 글에서는 업로드 된 파일의 정보를 어떤 구조의 클래스 형태로 바꾸어서 진행할것인지, 그리고 이 작업을 하기위해 사용될 기존 JDK에서 제공되는 PropertyEditor 클래스와 SpringFramework에서 제공되는 Converter 인터페이스에 대해 알아보았다. 이번 글에서는 실제로 이 Converter 클래스를 통해 변환작업을 수행하는 내용에 대해 알아보도록 하겠다. 이전 글에서 업로드 된 파일을 저장하고 있는 MultipartFile 클래스 객체를 이전 글에서 별도로 정의한 FileVO 클래스로 저장할 것이라고 언급했었고 그 반대, 즉 FileVO 클래스 객체를 MultipartFile 클래스 객체로의 변환은 할 수 없다고 언급하면서 Converter 인터페이스를 반드시 양방향을 모두 구..