Spring Boot에서 REST 컨트롤러 활용하기: @RestController 어노테이션 이해하기
·
Spring 기초/Spring 기초 지식
@RestController는 주로 API를 생성할때 작성되는데 이번 시간에 한번 알아보도록 하자 1. Spring Boot의 REST Controller 1-1. Spring Boot의 REST Controller 이해하기 웹 서비스를 구축할 때 REST(Representational State Transfer) 아키텍처 스타일을 자주 접하게 된다. REST는 웹 서비스의 핵심으로, 자원(Resource)을 중심으로 설계되며, 이 자원에 대해 CRUD(Create, Read, Update, Delete) 연산을 수행한다. Spring Boot에서는 이러한 RESTful 웹 서비스를 구현하기 위해 @RestController 어노테이션을 활용한다. 이 어노테이션은 클래스 레벨에서 사용되며, 해당 클래스의..
사용법 미숙지로 인한 controller test - 오류해결
·
Spring 기초/Spring 오류해결
컨트롤러 관련 테스트를 진행하다 Thymeleaf와 관련된 에러를 만났다. 1. 에러 코드타임리프 관련 에러가 있다고 표시되고 있다.jakarta.servlet.ServletException: Request processing failed: org.thymeleaf.exceptions.TemplateInputException: Error resolving template [board/save], template might not exist or might not be accessible by any of the configured Template Resolvers Caused by: org.thymeleaf.exceptions.TemplateInputException: Error resolving tem..
Spring Boot 심화: 커스텀 어노테이션 만들기 (2편)
·
Spring 기초/Spring 기초 지식
커스텀한 어노테이션(Custom Annotation)이란 무엇일까? 그리고 우리가 주로 사용하는 어노테이션을 분석해보자 1. 커스텀 어노테이션을 만드는 방법 Java에서는 사용자 정의 어노테이션을 만들 수 있다. 이를 위해선 @interface 키워드를 사용하면 된다. // @interface를 통해 어노테이션을 정의한다. public @interface MyCustomAnnotation { String value() default ""; int number() default 0; } 위의 예제 코드에서, MyCustomAnnotation은 어노테이션의 이름이다. value와 number는 이 어노테이션의 요소(또는 매개변수)이며, 기본값으로 각각 빈 문자열과 0을 가지고 있다. 어노테이션 요소의 유형은..
Spring Boot 기초: 어노테이션 활용하기 (1편)
·
Spring 기초/Spring 기초 지식
Spring에서 자주 사용되는 @로 작성하는 어노테이션이 뭔지 알아보자 1. 어노테이션 - Annotation 어노테이션은 주로 프로그래밍 언어에서 특정 기능이나 동작을 정의하거나 설명하는데 사용되는 메타데이터를 말한다. 주로 자바, 파이썬 등에서 많이 볼 수 있다. 어노테이션의 출현 배경은 주로 두 가지 이유에서 비롯된다. 코드의 가독성 향상: 어노테이션은 코드의 특정 부분이 어떤 목적을 가지고, 어떻게 동작하는지를 명확하게 표현할 수 있게 한다. 따라서 개발자는 코드를 읽을 때 어노테이션을 통해 빠르게 이해할 수 있다. 코드의 간결성: 특정 패턴이나 템플릿 코드를 반복해서 작성하는 것은 번거로울 뿐만 아니라 실수를 유발할 수 있다. 어노테이션을 통해 이러한 반복적인 코드를 줄이고, 개발자가 실제 로직..
Spring Framework 이해하기: 다형성, 개방-폐쇄 원칙(OCP), 인터페이스 활용의 장점
·
Spring 기초/Spring 기초 지식
스프링에서 중요한 개념중 하나인 다형성을 알아보자 1. 다형성이란 무엇인가: 객체지향 프로그래밍의 핵심 원리 객체지향 프로그래밍에서 다형성은 매우 중요한 개념이다. 이 개념은 단순하게 말해, 하나의 인터페이스나 클래스가 다양한 형태로 동작할 수 있다는 것을 의미한다. 다형성은 코드의 유연성과 재사용성을 높여주는 중요한 원칙이다. 1-1. 다형성의 실제 예시 예를 들어, 'Animal'이라는 인터페이스가 있고 이 인터페이스에는 'sound'라는 메서드가 정의되어 있다고 생각해보자. 이 'sound' 메서드는 모든 동물이 내는 소리를 추상화한 것이다. public interface Animal { void sound(); } public class Dog implements Animal { @Override..
Spring Boot: Tomcat 환경변수 설정
·
Spring 기초/Spring 설정
SpringBoot에서 Tomcat에 환경변수를 설정해 보자 📌 서론 스프링부트를 사용하다 보면 application.properties나 application.yml에 환경변수(api키, db연결정보)를 적은 채로 github에 그대로 push 해서 코드를 노출하는 경우가 있는데 이것은 너무나도 보안적으로 위험하기 때문에 이것을 로컬환경에서 tomcat configuration으로 구성하는 방법에 대해 설명하도록 하겠다. 1. 스프링부트3에서 내장 Tomcat에 환경변수를 설정하는 방법 application.yml 확인 우리는 개발할때 application.properties 또는 application.yaml 파일에 스프링부트의 설정을 하게 되는데 이때 이 파일을 그대로 github에 올리면 우리의 ..
@ControllerAdvice, @RestControllerAdvice - 중앙집중 예외처리
·
Spring 기초/Spring 기초 지식
@ControllerAdvice를 사용한 중앙집중 예외처리 0. 패키지 구조 1. ErrorCode를 정의한다. Enum 타입으로 ErrorCode 클래스를 정의했다. 이렇게 관리하면 커스텀한 에러처리를 할수가 있다. 우선 나는 status, code, message를 필드로 선언했고 이 모든것들을 생성자로 받도록 설정했다. status에는 우리가 자주보는 400번대 500에러가 있고 code에는 내가 직접 지정한 커스텀 에러코드를 넣어줬다. 마지막으로 message에는 알아보기 쉽게 한글에러 메시지를 넣어줬다. import lombok.AllArgsConstructor; import lombok.Getter; import org.springframework.http.HttpStatus; /** * 커스..
스프링의 핵심: Singleton 패턴 알아보기
·
Spring 기초/Spring 기초 지식
이번 포스트에서는 스프링의 Singleton 패턴에 대해서 알아보자 1. Singleton 패턴의 개념 Singleton 패턴은 객체지향 프로그래밍에서 자주 사용되는 디자인 패턴이다. 이 패턴의 핵심은 클래스의 인스턴스를 딱 하나만 만들어서, 어플리케이션 전체에서 공유한다는 것이다. 이렇게 하면 메모리 사용을 줄일 수 있고, 데이터 공유가 편리해진다. 예를 들어, 어떤 클래스가 데이터베이스 연결이나 시스템 설정 같은 전역적으로 사용되는 자원을 다룬다고 생각해보자. 이런 자원은 한 번만 만들어서 계속 사용하는 게 효율적이다. Singleton 패턴을 쓰면, 이 클래스의 인스턴스를 한 번만 만들고, 어디서든 이 인스턴스를 불러와서 사용할 수 있다. 스프링 프레임워크에서는 이 Singleton 패턴을 기본적으..