본문 바로가기

spring30

[Spring] CustomError 작성법 스프링에서 커스텀 에러 컨트롤러를 작성하여 에러 처리를 커스터마이징하는 방법은, 스프링의 기본 에러 처리 동작을 대체하거나 확장할 수 있는 중요한 기능입니다. 아래에서는 그 과정을 자세히 설명하고, 주요 개념 및 코드 예시를 제공합니다. 1. 기본 에러 처리 동작 스프링 부트는 기본적으로 에러가 발생하면 /error 엔드포인트로 리다이렉트하거나 포워딩합니다. 이때, BasicErrorController라는 클래스가 기본적으로 이 엔드포인트의 요청을 처리하며, 기본적인 에러 페이지(HTML 또는 JSON)를 제공하게 됩니다. 하지만, 우리는 이 기본 동작을 오버라이드하여 커스텀 에러 페이지를 보여주거나, 더 복잡한 에러 처리 로직을 작성할 수 있습니다. 2. 커스텀 에러 컨트롤러 작성 방법 2.1 Erro.. 2024. 10. 20.
[Spring] 주요 Annotation 스프링 프레임워크에서는 다양한 어노테이션을 사용하여 애플리케이션의 구성 요소를 정의하고, 빈(Bean) 등록, 트랜잭션 관리, 요청 처리 등을 수행합니다. 주요 어노테이션들을 각 역할별로 나누어 설명하겠습니다. 1. 컴포넌트 스캔과 빈 등록 관련 어노테이션 스프링은 어노테이션을 통해 자동으로 빈(Bean)을 등록할 수 있습니다. 주로 계층을 명확히 구분하는 데 사용됩니다. 1.1. @Component  • 스프링에서 가장 기본적인 어노테이션으로, 스프링 컨테이너에 빈으로 등록됩니다. • 모든 일반적인 클래스에 사용할 수 있으며, 구체적인 역할보다는 **컴포넌트(구성 요소)**로서 등록될 클래스를 나타냅니다.@Componentpublic class MyComponent { // 일반적인 스프링 빈으로.. 2024. 10. 19.
[Spring] Bean 스프링의 Bean은 스프링 프레임워크에서 객체를 관리하는 기본 단위입니다. 스프링 컨테이너가 생성하고 관리하는 객체를 **빈(Bean)**이라고 부르며, 스프링 애플리케이션에서는 이러한 빈들이 서로 의존성을 주입받거나 협력하며 애플리케이션 로직을 처리하게 됩니다. 1. Bean의 정의  • 스프링 빈은 스프링 IoC(제어의 역전) 컨테이너에 의해 생성, 관리되고, 의존성을 주입받아 사용되는 객체입니다. • 빈은 스프링 애플리케이션의 핵심 구성 요소이며, 각 객체는 컨테이너에 의해 생성 시점, 라이프사이클, 종료 시점까지 관리됩니다. 2. 스프링 Bean의 생성 과정 스프링 애플리케이션이 실행되면 스프링 컨테이너는 설정 파일(예: XML, 자바 설정 파일)이나 애노테이션을 기반으로 빈을 생성하고, 애플리케.. 2024. 10. 12.
[Spring] Spring과 Tomcat 톰캣(Tomcat)이란? 아파치 톰캣(Apache Tomcat)은 자바 서블릿과 JSP(JavaServer Pages)를 실행할 수 있는 서블릿 컨테이너이자 웹 서버입니다. 톰캣은 HTTP 프로토콜을 통해 클라이언트의 요청을 받고, 서블릿 규격에 따라 자바 웹 애플리케이션을 실행하여 응답을 반환합니다. 스프링과 톰캣의 관계 스프링 프레임워크는 자체적으로 웹 서버 기능을 제공하지 않습니다. 대신, 서블릿 컨테이너인 톰캣 위에서 동작하여 웹 애플리케이션을 구동합니다. 스프링 애플리케이션은 톰캣과 같은 서블릿 컨테이너에 배포되어, 클라이언트의 HTTP 요청을 처리합니다. 동작 원리 상세 설명 1. 서블릿 컨테이너와 서블릿  • 서블릿 컨테이너는 서블릿의 생명주기(Lifecycle)를 관리하고, 클라이언트의 요.. 2024. 10. 12.
[Spring] DTO **DTO(Data Transfer Object)**는 데이터 전송 객체로, 주로 계층 간의 데이터 전송을 목적으로 사용하는 객체입니다. DTO는 일반적으로 서버와 클라이언트 간 또는 애플리케이션의 다른 계층 간에 데이터를 전송할 때 사용됩니다. DTO는 데이터를 담는 순수한 객체로, 비즈니스 로직이 들어가지 않으며, 단순히 데이터를 전송하는 역할만 합니다. DTO의 주요 목적과 특징  1. 데이터 전송: • DTO는 주로 한 시스템에서 다른 시스템으로, 또는 애플리케이션의 계층 간 데이터를 전송하는 데 사용됩니다. • 예를 들어, 클라이언트가 서버로 API 요청을 보낼 때, DTO를 통해 필요한 데이터를 전달하고, 서버에서 클라이언트에게 응답할 때도 DTO를 사용해 데이터를 반환합니다. 2. 비즈니스 .. 2024. 10. 4.
[Spring] Lombok Lombok은 자바에서 반복적이고 보일러플레이트 코드를 줄여주는 라이브러리로, 특히 **스프링(Spring)**에서 자주 사용됩니다. Lombok을 사용하면 getter, setter, 생성자, equals, hashCode, toString 등의 메서드를 자동으로 생성할 수 있어 코드가 간결해지고, 유지보수성도 크게 향상됩니다. 스프링에서는 Lombok을 사용해 DTO, 엔티티 클래스, 서비스 로직 등에서 필요한 메서드를 자동으로 생성하여 코드의 중복을 줄일 수 있습니다. 아래에서는 자주 사용되는 Lombok 어노테이션과 그 역할을 설명하고, 스프링에서 어떻게 활용되는지 설명하겠습니다. Lombok 설정하기 Lombok을 사용하려면 프로젝트에 Lombok 의존성을 추가해야 합니다. Maven 또는 Gr.. 2024. 9. 28.