[JAVA] 파일명과 확장자를 아주 쉽게 분리하는 방법: lastIndexOf쓰지말자.
org.apache.commons.io.FilenameUtils 의 getExtension() 메서드를 사용하여 확장자만 가져올 수 있다. 파일이름 가져오는 예제코드 lastIndexOf를 쓰는방법 파일명만 가져오기 getBaseName() 메서드를 이용하여 확장자를 제외한 파일 이름만 가져올 수...
[JAVA] 파일 생성 예제 코드 : FileWriter 및 BufferedWriter 샘플
다음은 파일 생성 및 txt추가하는 예제코드로, ArrayList에 텍스트를 추가한 후 파일 생성하는 메소를 호출하는 예제이다. 파일생성 메소드 예제 디렉토리 생성 및 파일 생성함수인 mkdir()은 아래...
[JAVA] 디렉토리 생성시 파일경로(directory)와 파일명 분리방법 : lastIndexOf 쓰지말자
파일경로에서 파일명과 디렉토리를 간단하게 분리해서 폴더 생성 및 파일을 생성할 수 있다. 폴더와 파일명 분리 예제 코드 getParentFile() 메소드를 통해 실제 파일 명 전까지의 절대경로를...
[Java Spring] 독립적인 트랜잭션(@Transactional) 처리방법
TransactionManager를 사용한 트랜잭션 수동 처리는 지양하고 @Transactional 어노테이션 사용을 지향한다. 가령, 스프링배치 Job의 기본 트랜잭션과 별도로 트랜잭션을 생성하여 처리하고 싶다면 @Transactional(propagation = Propagation.REQUIRES_NEW)을 사용한다. 내부함수...
[Java Spring] 오류발생시 트랜잭션(@Transactional) 롤백이 안될 때 코드 확인 방법
AOP에서 다뤄지는 큰 이슈 하나 AOP기반으로 동작하는 트랜잭션 어노테이션은 내부함수 호출에서 트랜잭션 보장이 안된다. 그럼 어떻게 해야할까? 정답은 Proxy로 자기자신 객체를 생성하여 사용한다. 다음 예제를...
[JAVA] 자바 폴더 생성 및 파일 생성시 java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 오류 해결방법
파일쓰기를 할때 디렉토리 경로가 없다면 자동으로 생성해주고 파일쓰기를 하면 되는데 개발환경은 윈도우이고 테스트서버는 리눅스 환경이라면? 파일 구분자는 OS마다 서로 다르다. 윈도우 운영체제는 파일 구분자로 \...
[Java] 스네이크(언더바 표기법 대문자) 타입의 문자열을 카멜타입(Camel)으로 변환방법
스네이크(언더바 표기법 대문자) 타입의 문자열을 카멜타입의 문자열로 변경하는 유틸리티 성격을 띠는 코드를 만들어보자. [Java] 카멜타입(Camel)을 스네이크(언더바 표기법 대문자) 타입으로 변환방법 public static final String convertUnderScopeToCamel(final...
[Java] 카멜타입(Camel)을 스네이크(언더바 표기법 대문자) 타입으로 변환방법
카멜타입의 문자열을 스네이크(언더바 표기법 대문자) 타입으로 변경하는 유틸리티 성격을 띠는 코드를 만들어보자. public static final String convertCamelToUnderScope(final String str, final boolean isUppercase) { if(isBlank(str))...
[JAVA SPRING] DB데이터 대량 등록시 Bulk Insert 개발 방안 (Mybatis Provider 사용 추천)
자바언어로 코딩시 데이터 조회 결과데이터 List가 있을때 for문을 돌려서 저장하는 방식은 Mybatis Provider를 사용하는 것보다 비효율적이고 데이터가 많아질수록 insert하는데 걸리는 시간이 1천건 기준으로 10배, 10만건...
[SpringBoot] Swagger 기능 사용을 위한 설정 및 예제 코드
Swagger(스웨거)는 RESTful API 서비스를 편리하게 문서화 해주고, 이를 통해서 관리 및 제 3의 사용자가 편리하게 API를 호출하고 테스트할 수 있도록 해주는 도구이다. Swagger 의존성 추가...