본문 바로가기

Spring

[Spring] Spring JPA Data + Hibernate 설정 회사에서 팀에서 스터디겸 프로젝트로 하나 진행하고 있는 것이 있다. 새로운것들을 마구마구 적용해서 공부도 하면서 비지니스에 뭔가 도움이 될만한 재미있는 것을 만들자는 것이 목적인데... 현기형님께서 워낙 이런 기술습득이나 적용에 월등하게 빠르셔서.. 그냥 설정해주신 내용을 가지고 따라 쓰기도 바쁜 상태였었다. 빌리님께서 셋팅하신 스프링 배치도 마찬가지고... git빼고는 해본게 아무것도 없는 설정이라 더욱 곤욕...ㅋ 그래서, 그래도 프로젝트 초반에 한번 직접 셋팅이라도 해보지 않으면 나중에 더 힘들어질듯하여.. 예전에 봤던 책 내용들을 다시 되새기면서(구글링하면서...) 셋팅을 해보았다. 막셋팅이라 최적화와는 거리가 멀겠으나 일단 테스트케이스까지 만들어보는 것 성공... 그 내용을 이제 맥북프로를 받으.. 더보기
[Spring] difference between CrudRepository and JpaRepository http://stackoverflow.com/questions/14014086/what-is-difference-between-crudrepository-and-jparepository-interfaces-in-spring 더보기
[Spring] Query DSL + Spring Data JPA http://www.petrikainulainen.net/spring-data-jpa-tutorial/ 더보기
[Spring] TransactionManager 사용 토비의 스프링 3.0에서 .. 더보기
[spring] appplicationContext 사용하기 어딘가에서 봤던 글인데..원문을 못 찾겠네... 외국 사이트였는데.. 아무튼 spring에서 직접 생성되어 있는 applicationContext에 접근하려면, 해당 클래스가ApplicationContextAware 인터페이스를 구현하고 있어야하고, 이를 DI 받기 위해서자기 자신도 Spring Bean Factory에 등록이 되어야 한다. 일반적인 경우에는 별로 상관이 없었는데이 ApplicationContext를 여기저기서 사용하고 싶을때.. 아래와 같이 사용 가능. 원래 있던 소스에 캐스팅이 귀찮아서 public static T getBean(String beanName, Class requiredType) {return CONTEXT.getBean(beanName, requiredType);} 위.. 더보기
[spring] System properties 읽기 jvm 실행 시 -D 옵션으로 주는 값에 대해서 아래와 같이 읽을 수 있다. @Value("#{systemProperties['key'] == null ? 'real' : systemProperties['key']}")private String mode = null; el expression을 그대로 사용 가능한 것 같다.위와 같은 형태로 작성하면 default 값을 지정한것과 같은 효과를 줄 수 있음. 더보기
[Spring] Scheduled 로그분석기를 개편하면서 (회사내 개인 프로젝트)기존에 cron으로 돌리던 job을 quartz + spring으로 바꾸려고 이것저것 찾아보다보니spring 3.1 부터는 어노테이션으로 이게 가능해진것을 알았다. 간단히 테스트해본 내용을 올려봅니다. 우선, applicationContext.xml에 아래와 같은 설정이 필요합니다. task에 대한 namespace 선언이 필요하며 설정이 필요합니다.실제 스케쥴에 의해서 실행될 job 클래스는 아래와 같이 구현합니다. @Service나 @Component나 spring에서 어노테이션으로 스캔하여 bean으로 등록될 수 있으면 상관은 없는듯하며@Scheduled 어노테이션으로 cron 형태로 스케쥴을 정할 수 있습니다.다만 맨 앞이 초입니다. 0 34 18 *.. 더보기
HttpInvoker로 변경. -.- 관리가 편할 것이라는 풍주대리님 얘기를 듣고.. 작업해 놓은 rmi를 httpInvoker로 변경. 만들어 놓은 인터페이스는 그대로 사용하고 설정만 수정하였다.. spring에서 제공되는 클래스를 사용하고... 똑같이 클라이언트 인터셉터를 사용한다. 따로 포트 관리 할 것도 없고 확실히 편하다는 느낌이 든다. 이걸로 결정~!! 더보기
Spring remote rmi. 회사에서 remote로 내가 개발한 분석기 프로그램에 붙어서 데이터를 가져 와야 할 것이 있어서 마침 분석기 프로그램이 spring을 쓰고 있는 참에 spring rmi를 사용하기로 했다... http invoker도 있지만 web.xml 설정이 좀 더 들어가서.. 그냥 rmi로 -_-; 어차피 배치성으로 접근 할 거라 뭐... 서버쪽에는 xml 설정을 통해 rmi 서비스를 설정해주고 (설정 방법은 여기..) clinet에서는 단일 어플리케이션이라서.. 그냥 내부에서 RmiClientInterceptor를 사용해서 바로 준비함. 그런데 안 붙는다.. 으잉? ping도 나가고 telnet으로 port 접근도 되는데 이상하게 계속 connection refused 에러 발생. 팀장님의 도움을 받아 서버쪽 톰.. 더보기
프리마커 적용해 봤으니..사이트매쉬(sitemesh)다. 어제 포스트에 이어서..이제는 사이트매쉬를 한번 사용해보자. 사이트매쉬는..레이아웃 템플릿을 만들어놓고 사용한다. 마치 상단,좌측 메뉴등을 인클루드로 만들어 놓고 사용 하듯이.. 사이트매쉬를 사용하면 굳이 include를 사용하지 않더라도 자동으로 정해진 레이아웃으로 화면이 출력된다. filter를 적용하여 사용자가 날린 request를 가로채서 선작업을 하는 것 같다. 일단, 사용하기 위해서는 jar를 받아야 한다. sitemesh-2.3.jar 전체 소스를 받으면 샘플도 들어있다.. www.opensymphony.com/sitemesh/ 그리고 이제 설정을 시작하자..일단 filter를 적용하기 위해 web.xml을 손본다. sitemesh com.opensymphony.module.sitemesh... 더보기