Spring(+Boot)
-
API 호출에 대한 공통 응답 객체를 만들어보자 일단 여기서는 JSend를 참고하고 좀 더 간소화해서 만들었다 1. 성공 시 JSON { "status": "success", "body": { "exampleKey": "exampleValue" } } 2. 실패 시 JSON { "status": "error", "errorMessage": "API 실패 메세지" } 1. 정의된 API Response에 맞는 응답객체 만들기 2. ExceptionHandler를 통해 에러 발생시 실패 응답 생성 3. ResponseBodyAdvice를 사용해 성공 / 실패 시 응답 객체 생성 ErrorResponse 객체를 따로 둔 이유는 위의 예제에서는 그냥 이 글을 쓰기 위해서 errorMessage 하나만을 뒀지만,..
API 공통 응답 객체 만들어보기API 호출에 대한 공통 응답 객체를 만들어보자 일단 여기서는 JSend를 참고하고 좀 더 간소화해서 만들었다 1. 성공 시 JSON { "status": "success", "body": { "exampleKey": "exampleValue" } } 2. 실패 시 JSON { "status": "error", "errorMessage": "API 실패 메세지" } 1. 정의된 API Response에 맞는 응답객체 만들기 2. ExceptionHandler를 통해 에러 발생시 실패 응답 생성 3. ResponseBodyAdvice를 사용해 성공 / 실패 시 응답 객체 생성 ErrorResponse 객체를 따로 둔 이유는 위의 예제에서는 그냥 이 글을 쓰기 위해서 errorMessage 하나만을 뒀지만,..
2024.01.28 -
application.yml 에 값을 세팅하고 불러와보자 custom-property: person: first-name: "John" last-name: "Doe" age: 99 etc: etc1: "추가정보1" etc2: "추가정보2" etc3: 1234 @Value @Slf4j @Component public class ExternalPropertiesV1 implements ApplicationRunner { @Value("${custom-property.person.first-name}") private String firstName; @Value("${custom-property.person.last-name}") private String lastName; @Value("${custom-pr..
@Value / @ConfigurationProperties 사용해보기application.yml 에 값을 세팅하고 불러와보자 custom-property: person: first-name: "John" last-name: "Doe" age: 99 etc: etc1: "추가정보1" etc2: "추가정보2" etc3: 1234 @Value @Slf4j @Component public class ExternalPropertiesV1 implements ApplicationRunner { @Value("${custom-property.person.first-name}") private String firstName; @Value("${custom-property.person.last-name}") private String lastName; @Value("${custom-pr..
2023.04.05 -
Batch 실행방식 종류, 특징 정리 1. OS 스케줄러 이용 한 머신 내부에서 스케줄러를 통해 Batch 프로그램을 실행 ex) 리눅스 crontab 실행 결과를 log 파일을 남겨 확인한다 확인이 어렵고 많은 Job을 처리하긴 어렵지만 간단한 배치프로그램을 돌려보길 원한다면 사용해볼만 하다 2. Quartz Scheduler 이용 Quartz + Spring Batch 프레임워크를 함께 사용해 어플리케이션을 개발한다 어플리케이션 내부에서 스케줄링하므로 Batch 실행이 빠르다 스케줄링 데이터가 DB에 저장되어 Admin을 따로 만들어야 한다 3. CI 프로그램 이용 마스터 슬레이브로 명령을 전달해 배치 프로그램을 실행시킨다 ex) 젠킨스(Jenkins) 젠킨스에서 지원하는 스케줄링 기능을 통해 배치 ..
[Spring Batch] 공부 내용 정리 (2)Batch 실행방식 종류, 특징 정리 1. OS 스케줄러 이용 한 머신 내부에서 스케줄러를 통해 Batch 프로그램을 실행 ex) 리눅스 crontab 실행 결과를 log 파일을 남겨 확인한다 확인이 어렵고 많은 Job을 처리하긴 어렵지만 간단한 배치프로그램을 돌려보길 원한다면 사용해볼만 하다 2. Quartz Scheduler 이용 Quartz + Spring Batch 프레임워크를 함께 사용해 어플리케이션을 개발한다 어플리케이션 내부에서 스케줄링하므로 Batch 실행이 빠르다 스케줄링 데이터가 DB에 저장되어 Admin을 따로 만들어야 한다 3. CI 프로그램 이용 마스터 슬레이브로 명령을 전달해 배치 프로그램을 실행시킨다 ex) 젠킨스(Jenkins) 젠킨스에서 지원하는 스케줄링 기능을 통해 배치 ..
2022.05.03 -
https://docs.spring.io/spring-batch/docs/current/reference/html/index-single.html#spring-batch-intro Spring Batch - Reference Documentation If a group of Steps share similar configurations, then it may be helpful to define a "parent" Step from which the concrete Steps may inherit properties. Similar to class inheritance in Java, the "child" Step combines its elements and attributes with the pa d..
[Spring Batch] 공부 내용 정리 (1)https://docs.spring.io/spring-batch/docs/current/reference/html/index-single.html#spring-batch-intro Spring Batch - Reference Documentation If a group of Steps share similar configurations, then it may be helpful to define a "parent" Step from which the concrete Steps may inherit properties. Similar to class inheritance in Java, the "child" Step combines its elements and attributes with the pa d..
2022.04.25 -
URL 형태 : ~/api/query-paramX?name=&age=&email= 1. 명시적으로 받아주기 2. Map을 사용해서 받아주기 3. DTO나 VO클래스를 사용해 받아주기 만약 위 방법을 한꺼번에 쓰면 파라미터 매핑이 잘 될까 테스트해봤음 결과 잘 나오는 걸로 봐서는 1회 매핑되고 사라지는 것이 아닌 매핑될 수 있는 모든 변수에 매핑되는 것으로 보인다
Get방식에서 QueryParameter를 받는 방법URL 형태 : ~/api/query-paramX?name=&age=&email= 1. 명시적으로 받아주기 2. Map을 사용해서 받아주기 3. DTO나 VO클래스를 사용해 받아주기 만약 위 방법을 한꺼번에 쓰면 파라미터 매핑이 잘 될까 테스트해봤음 결과 잘 나오는 걸로 봐서는 1회 매핑되고 사라지는 것이 아닌 매핑될 수 있는 모든 변수에 매핑되는 것으로 보인다
2021.12.05 -
Intellij + SpringBoot + Gradle일 경우 Gradle 탭 프로젝트명 > Tasks > build > bootJar 실행 (더블클릭) 프로젝트 탭 프로젝트명 > build > libs 폴더 내부에 [프로젝트 이름 + 버전-SNAPSHOT.jar] 형태로 생성
Intellij 에서 스프링 부트 프로젝트를 jar로 만들기Intellij + SpringBoot + Gradle일 경우 Gradle 탭 프로젝트명 > Tasks > build > bootJar 실행 (더블클릭) 프로젝트 탭 프로젝트명 > build > libs 폴더 내부에 [프로젝트 이름 + 버전-SNAPSHOT.jar] 형태로 생성
2021.10.25