Springboot 5

Whitelabel Error Page와 Tomcat Error Page

WhiteLabel ErrorPage란 무엇인가?SpringBoot 개발자라면 누구나 한 번쯤 이 밋밋한 메시지를 봤을 것이다. 개발 초기나 서버 설정이 잘못되었을 때, 혹은 단순히 요청한 URL에 해당하는 매핑이 없을 때 이런 메시지가 튀어나온다. 분명 SpringBoot는 Tomcat을 내장하고 있는데, 왜 Tomcat의 기본 오류 페이지 대신 이런 WhiteLabel 페이지가 뜨는 것일까?그 이유는 SpringBoot가 자체적으로 BasicErrorController라는 클래스를 통해 오류를 처리하기 때문이다. 이 컨트롤러는 애플리케이션에서 에러가 발생했을 때 별다른 처리 로직이 없다면 자동으로 동작해, 기본적인 오류 응답을 제공한다. 서버가 죽지 않고 정상적으로 오류를 응답할 수 있도록 해주는 친..

Springboot 2025.04.26

[Spring] Spring Batch

누구세요?Spring Batch는 일관되고 반복되는 작업,트랜젝션 관리,로그 추적 등 대용량 일괄처리에 특화된 Batch 프레임워크라 할 수 있다.내부 동작Spring Batch는 스스로 Job을 실행시킬 수 없다.Spring Batch는 Job이 어떻게 실행될 지를 설정할 뿐이고 이를 실행하는 것은 Batch Scheduler의 역할이다. Quertz Scheduler 등의 Scheduler를 이용하여 실행시켜줄 수 있다 Batch를 진행하는데 필요한 모든 Object를 포함하는 JobRepository도 있다.이를 통하여 Batch와 관련한 수치 데이터와 Job의 상태를 유지관리하며 Batch와 관련된 CRUD 수행도 처리하는 역할을 한다용어 정리Job - Batch 처리 과정을 하나의 단위로 만들어..

Springboot 2025.03.05

[Spring] Spring Cloud

분산환경에서 Springboot클라우드 네이티브 환경에서 Spring 애플리케이션을 적용하고 관리할 때 따라오는 여러 애로사항들이 있다.MSA로 구성하여 사용하다 보면 필요한 서비스를 찾아서 호출하거나,동일한 설정을 알맞게 적용하는 등의 시스템을 추가적으로 구축하고 관리해야 하는데 이때 Spring에서 제공하는 훌륭한 도구가 있다.Spring Cloud의 기능Spring Cloud는 분산 시스템에서 필요한 여러 기능들을 추상화하여 제공한다.1. Service DiscoveryMSA 환경에서 서비스를 등록,검색,호출 할 수 있도록 도움을 주는 기능으로 Spring Cloud에선 Netflix OSS의 Eureka, Apache ZooKeeper,Consul 등의 서비스 디스커버리 툴들과 통합되어 있다.2...

Springboot 2025.02.05

[Spring] Thread Pool과 Spring Scheduler

Scheduler의 문제점..?@Componentclass TestScheduler { @Scheduled(fixedDelay = 1000) @Throws(InterruptedException::class) fun task1() { Thread.sleep(10000) println("Task 1: ${LocalDateTime.now()}") } @Scheduled(fixedDelay = 1000) fun task2() { println("Task 2: ${LocalDateTime.now()}") }}이 코드를 실행하면 task1()가 1번 실행될 때 task2()를 10번 실행하여야 할 것 같지만 실제로는 task1()이 종료되어..

Springboot 2024.12.30

[Springboot] Interceptor?

가끔 요구사항을 따라 Controller에서 반환된 값에 어떠한 공통된 데이터를 삽입해야하거나 로깅을 해야할 수도 있다.이를 위해서 다양한 방법이 있겠지만 그중에서 Interceptor를 사용할 수 있다.Interceptor...?Spring MVC 프레임워크에서 HTTP 요청을 가로채어 처리하는 컴포넌트를 의미한다. 클라이언트의 요청이 Controller에 도달하기 전 또는 처리된 후 추가적인 작업을 처리할 수 있다.서버에 들어온 Request를 Controller의 Handler로 넘겨주기 전, 후에 낚아채어 개발자가 원하는 작업을 수행할 수 있도록 하는 것이 Interceptor이다.특징전역적 처리여러 컨트롤러에서 나눠서 처리되어야 하는 작업을 중앙에서 관리할 수 있으며 인증, 권한 검사, 로깅 등..

Springboot 2024.12.15
반응형