본문 바로가기

스프링 프레임워크

Spring Framework의 ContentNegotiatingViewResolver에 대하여... (1) 3월달에서 시작한 프로젝트가 6월에 마무리가 되었다. 업체명과 어떤일을 했는지 상세하게 말할수 없지만 이번에 했던 일은 웹사이트 구축이 아니었다. 하드웨어 단말에서 웹URL을 호출하여 리턴되는 XML이나 JSON 또는 Text 문자열을 파싱하여 그에 따른 결과값으로 작업을 하는 일이다. 어찌보면 Open API와 비스무리한 일을 했다. 이번에 이 프로젝트의 아키텍처 역할을 하면서 Spring 기반으로 작업을 진행했는데 이때 사용했던 기술을 언급하고자 한다. 업무의 기술적인 큰 요구는 2가지였다 1) 단말이 원하는 데이터를 XML, Json, 또는 Plain Text로 받아야 한다. 단 이때 호출하는 URL이 리턴받는 데이터 타입에 따라 다른 형태면 안된다(사실 이 조건은 필수적인 조건은 아니었으나 업무를..
Spring Framework의 메시지 컨버터를 이용한 FileDownload 구현(3) 이제 마지막으로 File을 처리하는 메시지 컨버터를 Spring 환경설정에 추가해주는 일이 남았다. 예전글에서 얘기했듯이 태그를 추가하면 사용자가 만든 메시지 컨버터를 추가할 수 없다. 그래서 태그를 빼고 수동으로 일일이 설정해줘야 하는데 무엇을 설정해야 하는지는 여기를 클릭해서 참조하길 바란다. 수동으로 설정하는 부분에 보면 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter 클래스를 bean으로 설정하는 부분이있다. 여기에 보면 messageConverters 프로퍼티를 설정하는 부분이 있는데 여기에 사용자가 만든 메시지 컨버터를 추가해주면 된다 messageConverters 프로퍼티를 설정하는 부분을 보면 여러..
Spring Framework의 메시지 컨버터를 이용한 FileDownload 구현(2) 일단 메시지 컨버터가 무엇인지에 대한 설명이 필요할것 같다. 일반적으로 Spring MVC를 이용해서 컨트롤러에 값을 주고 받을때는 HTTP 요청 프로퍼티를 분석하여 그에 따라 특정 클래스로 바인딩이 되게끔 하고 컨트롤러에서 특정 객체를 Model Object에 집어 넣어 View를 리턴하는 식으로 주고받게 된다. 그러나 메시지 컨버터는 그런 개념이 아니라 HTTP 요청 메시지 본문과 HTTP 응답 메시지 본문을 통째로 하나의 메시지로 보고 이를 처리한다. Ajax를 통해 XML이나 JSON 문자열을 주고 받을때를 보면 짐작할수 있을 것이다. Spring MVC에서 이러한 작업을 하는데 사용되는 어노테이션이 바로 @RequestBody와 @ResponseBody이다. @RequestBody를 이용하려 파..
나의 Spring Framework 시작.. 개인적으로 Spring Framework(스프링 이라 하겠다)를 시작한지는 정말 얼마 안되었다..아니..정확하게는 스프링을 사용하는 프로젝트를 해본 케이스가 딱 한번뿐이었다. 전자정부 프레임워크로 진행했던 프로젝트였는데 전자정부 프레임워크가 스프링 기반이었다. 스프링을 하기 시작한 계기는 프리로 처음 전향하면서 면접을 본 과정이었다. 집이 안양이었던 관계로 마침 평촌에서 진행하는 프로젝트에 지원을 하게 되었다 그래서 면접을 보았는데..기억하기로는 그 프로젝트가 SK C&C에서 만든 프레임워크 기반으로 하는 프로젝트였다. 그 당시에 난 프레임워크의 필요성에 대해선 공감하고 있었지만 그것을 실무에 적용하는 점에 있어서는 약간의 회의적인 시각이 있었다. 유지보수 차원에서는 프레임워크를 적용한 프로젝트가 훨씬 ..