전체보기
-
[Message] properties 파일로 메시징 처리하기JAVA 2016. 2. 2. 15:09
프로젝트 진행중에 엑셀 다운로드를 하는 부분이 있었는데 컬럼명이 한글이다 보니 다국어 처리를 하게 되었다. JAVA단에 한글 넣는것은 극도로 꺼리기 때문에 (주석도 최대한 영어로 적는다.) 한글 처리를 위해 메시징 처리를 하였다. 따로 세팅을 잡아주는 사람도 없기 때문에 모든걸 직접 해야 하는 상황이다. (2년반된 개발자로써 좋은 기회라 생각한다. 이거저거 해보는게 좋다고 생각하기 때문에..) 이번에도 역시 구글신님의 도움을 받아서 ReloadableResourceBundleMessageSource 라는 스프링 클래스를 사용하여 처리를 하였다. 기본적인 스프링 프레임워크의 라이브러를 이용하기 때문에 왠만한 프로젝트에선 pom.xml에 별도의 플러그인을 추가할 필요가 없을 것이다. 만약 필요하다면 pom...
-
[JsTree] JsTree 사용하기Script 2015. 12. 29. 11:23
간단한 Tree-List 구조의 화면을 만들일이 생겼다. Tree를 오픈소스중에 쓸만한녀석으로 알아서 찾아 쓰라고 하셔서 검색을 해보니 JsTree 라는 녀석이 있었다. 기본적인 트리구조에 많은 사람들이 쓰고 있어서 이놈으로 선택했다. (하지만 얼마가지 않아 후회했다.. - API가 친절하지 않아서 크롬으로 콘솔을 찍어보면서 함수들을 확인했다..) 기본테마를 사용하려 했으나 이쁘게 해달라는 요청에 따라 다른 테마를 찾았다. 그래서 proton 이라는 테마를 사용했다. 적용법은 간단하다. 해당 라이브러리를 받아서 적절한 위치에 압축을 풀어 넣어주고 사용하면 된다. 간단한 예제를 통해 사용법을 알아보자. 일단 유의사항으로 jquery를 먼저 선언해줘야 jsTree가 정상적으로 작동한다. 그리고 jsTree를..
-
[정규식] 정규식을 이용한 전화번호 추출하기JAVA 2015. 12. 23. 11:03
개인정보 입력에서 거의 빠지지 않는 항목인 전화번호를 추출하는 방법을 알아보자. 요즘은 보통 집전화번호 같은 경우는 필수로 받질 않기 때문에 사람들이 임의로 아무거나 입력하는 경우가 많다. 그러나 우리는 입력된 그 번호를 가지고 데이터를 핸들링 해야한다. 이번엔 하이픈(-) 을 넣어서 구분자 입력 처리를 해볼것이다. 소스부터 보시라.. public void telTest() { String sample = ""; System.out.println(this.getTelNumber(sample)); // "--" 반환 String sample1 = "02.222.3333"; System.out.println(this.getTelNumber(sample1)); // "02-222-3333" 반환 String ..
-
[SPRING] 스프링 프레임워크에서 트랜잭션 처리JAVA 2015. 12. 8. 10:01
SPRING + MAVEN + MyBatis로 되어 있는 프레임워크로 프로젝트를 진행하던 중 트랜잭션 관련된 이슈가 생겨서 글로 남겨둔다. 스프링자체에 @Transactional 이라는 어노테이션이 있길래 당연히 이걸 쓰면 되는줄 알고 썼다가.. 큰일날뻔 했다.. 요놈이 글쎄 트랜잭션 처리를 안해줌..!!! 로직 자체가 한 메소드에서 여러 테이블에 저장을 해야 하는 로직인데, autoCommit이 되버려서 데이터가 꼬여버리는 것이었다.. 결국 구글신님께 도움을 요청. 몇가지 원인이 될만한 것들을 찾았다. 프로젝트에서 쓰는 MySQL DB내의 테이블 타입이 InnoDB가 아니면 문제가 될 수 있다. -> 타입은 정확히 InnoDB로 되어 있었다.. Database-config.xml 에서 트랜잭션 옵션 설..
-
REST API 호출JAVA 2015. 12. 2. 15:03
협업 프로젝트를 진행하다 보면 REST API를 사용해야 하는 경우가 있다. 이번에 REST API를 호출하는 기능을 만드는 기회가 있어서 정리를 위해 글을 남긴다. 내가 사용한 방식은 HttpURLConnection을 이용한 방식이다. 리턴 방식은 JSON 형태로 아래와 같다고 하자. JSON Data { success : true/false, data : { data1 : "data1", data2 : "data2" } } 위의 결과를 받기 위한 REST API 호출 코드는 아래와 같다. JAVA Method public Map callRestApi(String paramVal1) { // JSON 파라미터 String jsonParam1 = "abcd"; String jsonParam2 = "123..
-
[Exception] printStackTrace String값으로 읽기JAVA 2015. 11. 17. 10:50
로그 파일을 분리해서 로그를 남기기는 했는데.. Exception에서 제공해주는 getMessage()를 사용해서 로그를 남겼더니 정보가 너무 부족했다.. printStackTrace를 그대로 뿌려주면 안되나 했는데 될리가 있나.. 방법이 없어 구글링 시작.. 그래서 찾은 해법.. 일단 지난번 했던 로그파일분리 에서 사용했던 메소드를 재활용해보자.. // Properties load public void setProperties() { PropertyConfigurator.configure(this.getClass().getResource("/").getPath() + logPath); // Logger Set debug_logger = Logger.getLogger("변수명1"); error_logge..
-
[LOG] Logger 2개 사용하기JAVA 2015. 11. 17. 10:34
이것은 기본 JAVA Project 기준으로 설명합니다. 지난번에 log4j파일분리 세팅 을 했으니 이번엔 그 사용법을 알아보자. 요구사항은 일반 디버깅 로그와 작업수행에 대해 직관적으로 볼 수 있는 로그파일 2개를 생성해 달라는 것이었다. 기본 자바 프로젝트다보니 log4j 설정파일 경로 같은 것을 XML등을 이용해서 셋팅하는게 불가능하고 기본 JAVA 클래스에서 처리를 해야 했다. 그리고 이 프로젝트 자체가 jar파일로 만들어 배치작업을 돌려야 하기 때문에 해당 프로젝트내에서 properties를 컨트롤할 수 있어야 했다. 그래도 일단 패키지형태는 제대로 맞추자 생각해서 했던 세팅.. 이렇게 패키지를 구성하고 작업을 시작했다. config에는 메시징 처리를 위한 msg.properties파일과 log..