본문 바로가기

Backend/Spring | SpringBoot28

[SpringBoot] 로깅 간단히 알아보기 목차 로깅 운영 시스템에서는 System.out.println() 같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용해서 로그를 출력합니다. 여기서는 최소한의 사용 방법만을 알아봅니다. 로깅 라이브러리 스프링부트 라이브러리를 사용하면, 스프링 부트 로깅 라이브러리(spring-boot-starter-logging)가 함께 포함됩니다. 스프링 부트 로깅 라이브러리는 기본적으로 다음 로깅 라이브러리를 사용합니다. SLF4J - https://www.slf4j.org/ Logback - https://logback.qos.ch/ SLF4J는 인터페이스입니다. 그 구현체로 Logback같은 로그 라이브러리를 선택하면 됩니다. 로그 라이브러리는 Logback, Log4J, L.. 2023. 8. 31.
[SpringBoot] HTTP 응답 관련 애노테이션 목차 응답 데이터 반환의 종류 스프링(서버)에서 HTTP 응답 데이터를 만드는 방법은 다음과 같이 크게 3가지입니다. 정적 리소스 : 정적 HTML, CSS, JS 뷰 템플릿 사용 : 동적인 HTML HTTP Message Body에 직접 입력 (단순 텍스트 / JSON) 전체 구조 HTTP 응답 - 정적 리소스, 뷰 템플릿 정적 리소스 스프링 부트의 src/main/resources 는 리소스를 보관하는 곳이고, 클래스패스의 시작 경로입니다. 스프링 부트는 클래스패스의 다음 디렉토리에 있는 정적 리소스를 제공합니다. /static, /public, /resources, /META-INF/resources 따라서, 해당 디렉토리에 리소스를 넣어두면, 스프링 부트가 정적 리소스로 서비스를 제공합니다. 예제.. 2023. 8. 25.
[SpringBoot] HTTP 요청 조회 애노테이션 목차 전체 구조 HTTP 요청 매핑 회원 관리 HTTP API를 만든다 생각하고 매핑을 어떻게 하는지 알아봅시다. (URL 매핑에만 집중합니다.) 회원 관리 API 회원 목록 조회: GET /users 회원 등록: POST /users 회원 조회: GET /users/{userId} 회원 수정: PATCH /users/{userId} 회원 삭제: DELETE /users/{userId} @RestController @RequestMapping("/mapping/users") public class MappingController { /** * 회원 목록 조회 * GET /mapping/users */ @GetMapping public String users() { return "get users"; } .. 2023. 8. 25.
[SpringBoot] 스프링 MVC 기본 애노테이션(@Controller, @RequestMapping, @PathVariable) 목차 @Controller @Controller //컴포넌트 스캔을 통해 스프링 빈으로 등록 public class SpringMemberFormControllerV1 { @RequestMapping("/springmvc/v1/members/new-form") public ModelAndView process() { return new ModelAndView("new-form"); } } @Controller 스프링이 자동으로 스프링 빈으로 등록합니다. (내부에 @Component 애노테이션이 있어서 컴포넌트 스캔 대상이 됩니다.) 스프링 MVC에서 애노테이션 기반 컨트롤러로 인식됩니다. @RequestMapping 해당 URL이 호출되면, 이 메서드가 호출됩니다. 다중 설정이 가능합니다. {"/hell.. 2023. 8. 25.
[Servlet] 회원 관리 웹 애플리케이션 만들기3 (어댑터 패턴) https://wngml56.tistory.com/238 회원 관리 웹 애플리케이션 만들기 (프론트 컨트롤러 패턴) 서론 https://wngml56.tistory.com/237 회원관리 웹 애플리케이션 만들기 (서블릿, JSP, MVC 패턴) 서론 서블릿, JSP, MVC 패턴으로 회원 관리 웹 애플리케이션을 만들어 봅시다. 본론 회원 관리 웹 애플리케이 wngml56.tistory.com 와 이어지는 글입니다. 이번에는 한 개의 프론트 컨트롤러에서 여러 종류의 컨트롤러를 처리할 수 있는 어댑터 패턴에 대해 작성하겠습니다. 목차 유연한 프론트 컨트롤러 - v5 만약 ControllerV3와 ControllerV4 모두를 사용하고 싶다면 어떻게 해야 할까요? public interface Controll.. 2023. 8. 18.
[Servlet] 회원 관리 웹 애플리케이션 만들기2 (프론트 컨트롤러 패턴) https://wngml56.tistory.com/237 회원관리 웹 애플리케이션 만들기 (서블릿, JSP, MVC 패턴) 서론 서블릿, JSP, MVC 패턴으로 회원 관리 웹 애플리케이션을 만들어 봅시다. 본론 회원 관리 웹 애플리케이션 요구사항 회원 정보 이름: username 나이: age 기능 요구사항 회원 저장 회원 목록 조회 wngml56.tistory.com 이어지는 글입니다. 이번에는 프론트 컨트롤러 패턴을 도입해 회원 관리 애플리케이션을 만들어보겠습니다. 목차 프론트 컨트롤러 패턴 소개 프론트 컨트롤러 도입 전 컨트롤러에 공통된 중복 코드들이 포함되어 있습니다. 프론트 컨트롤러 도입 후 공통 부분을 프론트 컨트롤러에서 처리합니다. FrontController 패턴 프론트 컨트롤러 서블릿으.. 2023. 8. 18.