본문 바로가기

SPRING

(7)
[Spring+Redis] 스프링과 레디스 연동 안녕하세요. 이번에는 Redis(메모리 디비)와 스프링을 연동 해보도록 하겠습니다. 레디스는 이전 포스팅과도 같이 메모리 디비이면서 NoSql이라고도 합니다. 그럼 시작, http://projects.spring.io/spring-data-redis/ 일단 여기 접속하시면 최신 라이브러리를 다운 받을 수 있습니다. 1. pom.xml org.springframework.data spring-data-redis ${redis.version} 위에 사이트에서 받은 라이브러리 제 기준으로 1.5.1이 되겠습니다. 그리고 레디스에 접속하기 위해서는 RedisClient도 필요로 합니다. Java에선 Jedis를 사용하겠습니다. redis.clients jedis ${jedis.version} 이 놈의 버전은 2..
[MONGODB+SPRING] 몽고디비+스프링 연계하기 안녕하세요. 정말 간단해서 간단 연동기.. 제목 그대로 두개를 연동해보겠습니다. 샘플 프로젝트에 이것저것 붙이다보니 벌써 config 파일만 5개가 생겼네요. 그럼 연동 시작. 1. pom.xml org.springframework.data spring-data-mongodb ${mongodb-Spring-data.version} 을 구성해주어야 합니다. 버젼은 1.7.1.RELEASE 로 구성했네요. 2. Java Config @Configuration @ComponentScan @EnableMongoRepositories public class MongodbConfig extends AbstractMongoConfiguration { @Override protected String getDatabas..
[Spring MVC] 스프링 MVC 아키텍쳐 Dispstchater Servlet의 요청 처리 과정1. 일단 Dispatcher Servlet은 프론트 컨트롤러이다. 즉, 우리가 이클립스 STS 환경에서 Spring MVC 프로젝트를 생성했을때 생기는 app-servlet.xml 파일 정도가 되겠다. 최초의 스프링 환경설정에 대한 내용들이 포함되는 파일이기도 하다. 2. 간단하게 요청-위임-렌더링위임-결과 정도로 쉽게 순서를 보면 된다.3. 하나 이상의 구현체를 가지고 있다. 스프링 MVC는 모두 이 프론트 컨트롤러 위주로 동작하게 되어 있으며 핸들러를 위임하는 일과 View 템플릿에게 렌더링을 위임하는 것도 모두 이 Dispatcher Servlet의 역할이다. 크게 처리 결과는 다음과 같다.1. Client로 부터 요청2. 요청 선처리 작업3...
[토비] Spring 싱글톤 패턴의 이야기 스프링은 BeanFactory를 통해 생성되는 Bean을 출력해보면 같은 주소 값이 나온다. 이 얘기는 하나의 객체를 각각의 변수도 같은 주소를 보고 있다는 얘기가 된다. 곧 '스프링은 싱글톤 패턴으로 Bean을 관리한다'가 되겠다. 이 스프링에서 관리되는 싱글톤 패턴은 우리가 알고 있는 싱글톤 패턴이랑 동일하지만 구현 방법은 완전히 다르다. 흔히 싱글톤 패턴은 이렇게 구현된다. public class UserDao { private static UserDao INSTANCE; private UserDao(ConnectionMaker connectionMaker) { this.connectionMaker = connectionMaker; } public static synchronized UserDao ..
[file download] 스프링 BeanNameResolver 이용한 파일 다운로드 스프링 파일 다운로드를 다뤄볼게요. 그냥 쉽게 쉽게 예제랑 방법만 첨부할게요~ Spring 3.1이고요 저도 검색을 통해서 알아낸거지만 참 스프링은 개발하기 좋게 갖춰진 도구인 것 같아요. 스프링 파일 다운로드를 하기에 앞서 XML 설정을 좀 해볼게요. bean을 하나 생성해주는데요. 이 bean은 viewresolver를 통해서 파일 다운로드 처리를 하는 클래스로 넘어가게 됩니다. 보통은 viewResolver에 prefix와 suffix를 제외하고 String문자열로 jsp 파일의 경로를 넣어주잖아요. 하나 궁금한게 생기죠 .. 저건 bean인데 viewResolver에서 어떻게 쟤가 그 놈인지 알아볼 수 있나요 ? 라고 물론 그 설정도 해주어야 합니다. 아래와 같이요. 1. ViewResolver ..
[MYBATIS] KEY값을 생성하고 생성된 KEY 되돌려 받기 이번엔 Spring이랑 Mybatis를 연계해서 쓰다보니 이런 문제가 발생했다. 로그를 입력하는데 id가 필요한데 등록된 아이디를 어떻게 가져오지 ? 데이터베이스에 등록된 ID가 뭔줄 알고 가져오지 ? 라는 궁금증이 생겼다. 왜냐면 기존에 처리가 아래처럼 되어있다보니 그런 고민을 하게됐다. java단에서 max ID를 가져오는 거였다면 고민할 필요 없었을텐데 말이다. selectKey를 통해서 vo의 id란 property를 활용해서 #{fileId}를 셋팅한다. 그리고 거기서 나온 결과값을 long type으로 vo에 반환하게 되며 order는 실행순서로 아래의 insert가 수행되기 전에 실행된다. select DECODE(cnt, 0, SGDS_DSGN_DOC_FILE_ID.nextval, #{fi..
[ERROR] Maven 환경의 프로젝트 구동시 에러 이 오류는 이 오류는 maven의 dependency가 정상적으로 처리되지 못한 경우.. tomcat의 server plugin의 임시 deploy 디렉토리에 WEB-INF/lib에 jar들이 정상 배포되지 않기 때문입니다.. 해결하시는 방법은.. 개발환경 v1.0(eclipse 3.4기반)의 경우는 다음과 같이 조치하시면 되실 것 같습니다. - Project 메뉴 선택 -> Clean... 선택 후.. 프로젝트 재빌드 수행.. - 프로젝트 선택 -> context menu -> Maven -> Update Project Configuration - 프로젝트 선택 -> context menu -> Run as -> maven clean - 프로젝트 선택 -> context menu -> Run as ->..