반응형

스프링 35

[spring] AOP로 트랜잭션 관리 (feat. 롤백 처리)

시니어 개발자가 초기 설정 한 프로젝트 소스를 체크아웃 받아 API 개발 중 트랜잭션 롤백 관련 삽질한 경험이다.코드를 보니 아래와 같이 공통에서 AOP를 통해 트랜잭션을 자동으로 관리하도록 설정이 되어 있었다.원인은 정말 허무했지만 나중의 삽질을 미연에 방지도록 기록한다.(원래 뭐든 알고나면 쉽지 않은가 😎)TransactionConfig package kr.test.portal.config.spring;import lombok.RequiredArgsConstructor;import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.annotation.Aspect;import org.springframework.aop.aspectj.AspectJExpressio..

IT/development 2024.12.01

[spring] jUnit test 시 vm 옵션 전달 (feat. maven)

애플리케이션 구동 시 profile을 전달 할 경우 jUnit에서도 전달을 해줘야 하는데 아래처럼 설정하면 된다. 기존 설정들은 이미 되어 있는것이라 이 포스팅의 내용인 jUnit test 시 vm 옵션 전달하는 건 이 부분만 설정하면 된다. -Dglobals.profiles.active=local org.apache.maven.plugins maven-surefire-plugin 2.22.2 true once xml **/Abstract*.java **/*Suite.java **/*Test.java -Dglobals.profiles.active=local org.codehaus.mojo emma-maven-plugin true org.apache.maven.plugins maven-javadoc-plu..

IT/development 2024.01.21

[spring] spring excel download 모듈화 ver 2

목차 아래 포스팅에서 이어진 내용입니다. [spring] spring excel download (feat. 공통으로 분리) 목차 아래 포스팅에서 이어진 내용입니다. [spring] spring excel download (feat. 체크박스) 목차 화면에서 사용자가 체크한 row의 데이터들만 서버로 보내서 엑셀 다운로드 창을 브라우저에게 띄우게 하 yaga.tistory.com 모듈화 ver 1에서는 화면이 늘어나고 구분자가 늘어남에 따라 ExcelUtil의 static method가 길어진다는 단점이 있어서 불편했다. 그래서 더 고민 끝에 구분자에 따른 시트명, 파일명, 헤더정보를 별도의 파일로 빼기로 했다. 이렇게 되면 파일에 내용만 추가하면 되고 소스는 건드릴 필요가 없게된다. pages.json..

IT/development 2024.01.14

[spring] spring excel download 모듈화 ver 1

목차 아래 포스팅에서 이어진 내용입니다. [spring] spring excel download (feat. 체크박스) 목차 화면에서 사용자가 체크한 row의 데이터들만 서버로 보내서 엑셀 다운로드 창을 브라우저에게 띄우게 하고 엑셀 다운로드 하는 로직 springBoot 2.7.7, jdk 11 version view 엑셀 다운로드 예제 목록 yaga.tistory.com 프로젝트 팀원들이 내가 만든 엑셀 모듈을 그냥 화면에서 호출만 하고 나머지는 신경쓰게 하고 싶지 않았다. 호출하는 쪽에서는 모듈이 어떻게 작동하는지 모르게 만드는 것, 나는 알맞은 조건으로 호출만 하면 되는 것 그래서 고민 끝에 일단 무식하게 아래와 같이 구현했다.(보완 사항이 많은 소스임) 화면에서는 공통 엑셀 컨트롤러의 url 호..

IT/development 2024.01.14

[spring] spring excel download (feat. 체크박스)

목차 화면에서 사용자가 체크한 row의 데이터들만 서버로 보내서 엑셀 다운로드 창을 브라우저에게 띄우게 하고 엑셀 다운로드 하는 로직 springBoot 2.7.7, jdk 11 version view 엑셀 다운로드 예제 목록 체크박스 순번 사원명 직업 kkh 김경호 가수 ljb 박완규 가수 jkh 정경화 가수 엑셀 다운로드 의존성(gradle) // poi implementation 'org.apache.poi:poi:5.1.0'// xls implementation 'org.apache.poi:poi-ooxml:5.1.0'//xlsx Controller(VO버전) 본래 컨트롤러에는 비즈니스 로직이 없어야 하지만 여기선 예시니까 비즈니스 로직 서비스로 빼지 않았다.(귀찮아서) @GetMapping("/..

IT/development 2024.01.13

[spring] egovframework(4.1 ver) 단순 메일 발송

목차 pom.xml org.apache.commons commons-email 1.5 egovframework.com.ems sndng-mail 1.0 context-mail.xml true true true SndngMailVO package egovframework.test.com.cop.ems.dto; import lombok.Data; @Data public class SndngMailVO { /** 메세지ID */ private String mssageId; /** 발신자 */ private String dsptchPerson; /** 수신자 */ private String recptnPerson; /** 제목 */ private String sj; /** 발송결과코드 */ private Str..

IT/development 2023.12.19

[springBoot] spring batch service 개발 1

목차 아래 포스팅에서 이어진 내용입니다. [springBoot] spring batch AsyncProcess/Writer 목차 아래 포스팅에서 이어진 내용입니다. [springBoot] spring batch multiThread process(feat. taskExecutor) 목차 아래 포스팅에서 이어진 내용입니다. [springBoot] spring batch job/stepExecutionListener 목차 아래 포스팅 yaga.tistory.com Api Service, batch job 2개 개발 사이드 프로젝트(배운 건 써먹어야 체득이 되니까..) architecture를 ppt로 그릴려다가 포기(너무 못 그려서) batch1: customer 테이블의 데이터를 읽어서 customer2 ..

IT/development 2023.11.27

[springBoot] spring batch AsyncProcess/Writer

목차 아래 포스팅에서 이어진 내용입니다. [springBoot] spring batch multiThread process(feat. taskExecutor) 목차 아래 포스팅에서 이어진 내용입니다. [springBoot] spring batch job/stepExecutionListener 목차 아래 포스팅에서 이어진 내용입니다. [springBoot] spring batch 사용자 정의 ExitStatus 목차 아래 포스팅에서 이어 yaga.tistory.com 동기 Step안에서 process, writer를 비동기로 작업하는 예제(속도만 비교) 비동기 프로세서는 실제 작업은 프로세서에게 위임하고 taskExecutor로 스레드 할당 비동기 라이터는 비동기 프로세스 실행결과 모두 받기전까지 대기 했..

IT/development 2023.11.23
반응형