티스토리 뷰

*각 Chapter 중복 제외

Chapter 3 MVC의 프로젝트 구조

더보기

1.ServletContext : 서블릿 하나가 서블릿 컨테이너와 통신할 때 사용하는 메서드들을 가지고 있는 클래스입니다.

 

2.RootContext : 모든 서블릿과 필터가 공유할 수 있는 루트 스프링 컨테이너 설정을 의미합니다. 공통 빈(Service, Repository(DAO), DB, Log 등)을 설정합니다. 

3.@Controller : 클라이언트 요청을 처리할 자바 클래스를 의미합니다. @Controller가 있는 Class는 컨트롤러라는 것을 명시한다.

4.@RequestMapping은 설정된 파라미터와 같은 요청이 있을 때 관련 메서드를 실행하는 역할을 합니다. value는 파라미터 요청 URL이고, method 파라미터는 GET이나 POST 방식을 설정합니다.
*기본값은 GET방식으로 생략할 수 있습니다. 

5.Model : 스프링 MVC 웹 애플리케이션에서 사용되는 객체로, 컨트롤러에서 뷰로 데이터를 전달하는 데 사용됩니다. Model 객체를 사용하여 컨트롤러에서 처리한 데이터를 뷰로 전달하여 동적인 웹 페이지를 생성할 수 있습니다. Model 객체는 뷰 템플릿에서 데이터를 표시하고 사용자에게 보여주기 위해 사용됩니다. 일반적으로 문자열, 숫자, 객체 등 다양한 타입의 데이터를 저장할 수 있습니다.
컨트롤러 메서드에서 Model 객체를 파라미터로 받아와서 사용하고, 데이터를 저장하는 메서드인 addAttribute()를 호출하여 데이터를 저장합니다. 저장한 데이터는 뷰 템플릿에서 ${속성명}으로 참조할 수 있습니다.

6.RequestMethod : 스프링 MVC 웹 애플리케이션에서 사용되는 열거형(Enum) 객체로, HTTP 요청 메서드를 표현하는 데 사용됩니다. HTTP 요청 메서드는 클라이언트가 서버에게 요청을 보낼 때 사용되는 메서드를 나타냅니다. 대표적으로 GET, POST, PUT, DELETE 등이 있습니다.
RequestMethod 객체는 컨트롤러의 핸들러 메서드에 어노테이션을 적용할 때 사용됩니다. 주로 @RequestMapping, @GetMapping, @PostMapping 등과 함께 사용되며, 요청 메서드에 따라 해당 핸들러 메서드가 실행되도록 지정할 수 있습니다.

Chapter 4 스프링 MVC 애플리케이션의 계층적 구조

더보기

1.domain object(도메인 객체) : 데이터 모델로 객체 정보를 저장하는 곳입니다.

 

2.List : List는 자바 컬렉션 프레임워크에서 제공하는 인터페이스로, 순서가 있는 데이터의 모음을 다루는 데 사용됩니다. List 인터페이스를 구현한 클래스들은 데이터의 순서를 유지하며, 중복된 데이터를 포함할 수 있습니다. List는 데이터를 인덱스로 접근할 수 있고, 데이터의 추가, 삭제, 검색 등 다양한 작업을 수행할 수 있습니다.

3.ArrayList : ArrayList는 List 인터페이스를 구현한 클래스로, 내부적으로 배열을 사용하여 데이터를 저장합니다. ArrayList는 크기를 동적으로 조정할 수 있으며, 배열의 인덱스를 사용하여 데이터에 접근할 수 있습니다. ArrayList는 데이터의 추가와 삭제가 빠르고 인덱스를 통한 검색이 빠르지만, 중간에 데이터를 삽입하거나 삭제하는 경우에는 성능이 저하될 수 있습니다.

4.@Repository : @Repository는 스프링 프레임워크에서 사용되는 어노테이션으로, 데이터 접근 계층(Data Access Layer)인 DAO(Data Access Object) 클래스에 적용됩니다. @Repository 어노테이션이 적용된 클래스는 데이터베이스와의 상호작용을 담당하며, 데이터의 조회, 저장, 수정, 삭제 등을 처리하는 메서드를 포함합니다. @Repository 어노테이션을 사용함으로써 스프링은 해당 클래스를 컴포넌트 스캔을 통해 자동으로 빈(Bean)으로 등록하고, 필요한 곳에서 DI(Dependency Injection)를 통해 사용할 수 있게 됩니다.

5.@Service :  @Service는 스프링 프레임워크에서 사용되는 어노테이션으로, 비즈니스 로직을 담당하는 서비스 계층(Service Layer)의 클래스에 적용됩니다. @Service 어노테이션이 적용된 클래스는 비즈니스 로직을 구현하며, 트랜잭션 처리, 데이터 가공, 외부 시스템과의 연동 등을 담당합니다.
@Service 어노테이션을 사용함으로써 스프링은 해당 클래스를 컴포넌트 스캔을 통해 자동으로 빈으로 등록하고, 필요한 곳에서 DI를 통해 사용할 수 있게 됩니다.

6.@Autowired : @Autowired는 스프링 프레임워크에서 사용되는 어노테이션으로, 의존성 주입(Dependency Injection)을 수행할 때 사용됩니다. @Autowired 어노테이션이 필드, 생성자, 메서드 등에 적용되면, 해당하는 의존성을 자동으로 주입해줍니다.
@Autowired 어노테이션을 사용하면 개발자가 직접 의존성을 관리하지 않아도 되므로 코드의 가독성과 유지보수성이 향상됩니다. 스프링 컨테이너는 @Autowired 어노테이션이 적용된 필드나 메서드의 매개변수 타입을 기준으로 적절한 빈을 찾아 의존성을 주입합니다.

Chapter 5 컨트롤러

더보기

1.@GetMapping : @GetMapping은 스프링 프레임워크에서 사용되는 어노테이션 중 하나로, HTTP GET 요청을 처리하는 핸들러 메서드에 적용됩니다. @RequestMapping과 함께 사용되며, 특정 URL 경로에 대한 GET 요청을 처리하기 위해 사용됩니다.
@GetMapping 어노테이션을 사용하여 핸들러 메서드를 작성하면, 해당 URL 경로로의 GET 요청에 대해 해당 메서드가 실행되어 처리됩니다. 

 

2.@PostMapping : @PostMapping은 스프링 프레임워크에서 사용되는 어노테이션 중 하나로, HTTP POST 요청을 처리하는 핸들러 메서드에 적용됩니다. @RequestMapping과 함께 사용되며, 특정 URL 경로에 대한 POST 요청을 처리하기 위해 사용됩니다.
@PostMapping 어노테이션을 사용하여 핸들러 메서드를 작성하면, 해당 URL 경로로의 POST 요청에 대해 해당 메서드가 실행되어 처리됩니다

3.@PutMapping : @PutMapping은 스프링 프레임워크에서 사용되는 어노테이션 중 하나로, HTTP PUT 요청을 처리하는 핸들러 메서드에 적용됩니다. @RequestMapping과 함께 사용되며, 특정 URL 경로에 대한 PUT 요청을 처리하기 위해 사용됩니다.
@PutMapping 어노테이션을 사용하여 핸들러 메서드를 작성하면, 해당 URL 경로로의 PUT 요청에 대해 해당 메서드가 실행되어 처리됩니다.

4.@DeleteMapping : @DeleteMapping은 스프링 프레임워크에서 사용되는 어노테이션 중 하나로, HTTP DELETE 요청을 처리하는 핸들러 메서드에 적용됩니다. @RequestMapping과 함께 사용되며, 특정 URL 경로에 대한 DELETE 요청을 처리하기 위해 사용됩니다.
@DeleteMapping 어노테이션을 사용하여 핸들러 메서드를 작성하면, 해당 URL 경로로의 DELETE 요청에 대해 해당 메서드가 실행되어 처리됩니다.

5.@PatchMapping : @PatchMapping은 스프링 프레임워크에서 사용되는 어노테이션 중 하나로, HTTP PATCH 요청을 처리하는 핸들러 메서드에 적용됩니다. @RequestMapping과 함께 사용되며, 특정 URL 경로에 대한 PATCH 요청을 처리하기 위해 사용됩니다.
@PatchMapping 어노테이션을 사용하여 핸들러 메서드를 작성하면, 해당 URL 경로로의 PATCH 요청에 대해 해당 메서드가 실행되어 처리됩니다.

6.ModelAndView :스프링 프레임워크에서 사용되는 클래스로, 컨트롤러에서 데이터와 뷰 정보를 함께 반환하는 데 사용됩니다. 이를 통해 컨트롤러에서 처리한 데이터를 뷰에 전달하여 동적인 웹 페이지를 생성할 수 있습니다.
ModelAndView 클래스는 데이터와 뷰 정보를 담을 수 있는 객체입니다. 컨트롤러에서 데이터를 설정하고, 뷰 이름을 지정하여 ModelAndView 객체를 생성한 후, 이를 반환하면 스프링 프레임워크는 해당 뷰를 렌더링하고 데이터를 전달합니다.

 

Chapter 6 요청처리 메서드의 파라미터 유형

더보기

1.@PathVariable : @PathVariable은 스프링 프레임워크에서 사용되는 애노테이션으로, URL 경로에서 변수 값을 추출하는데 사용됩니다. 주로 RESTful 웹 서비스에서 사용되며, URL 경로에 포함된 변수 값을 컨트롤러 메서드의 매개변수로 전달할 수 있습니다.

 

2.@MatrixVariable : @MatrixVariable은 스프링 프레임워크에서 사용되는 애노테이션으로, URL 경로에서 행렬 변수 값을 추출하는데 사용됩니다. 행렬 변수는 경로의 일부인데, 행렬 변수는 세미콜론으로 구분되며, 변수 이름과 값을 포함합니다.

3.MultivalueMap :MultivalueMap은 스프링 프레임워크에서 제공하는 인터페이스로, 하나의 키에 여러 개의 값을 가질 수 있는 맵을 표현하는데 사용됩니다. 주로 HTTP 요청 파라미터를 처리하는데 사용됩니다. MultivalueMap은 Map 인터페이스를 상속받으며, 동일한 키에 여러 개의 값을 저장할 수 있는 특징을 가지고 있습니다. 이를 통해 하나의 키에 대해 여러 개의 값을 처리할 수 있습니다.

4.Map :Map은 자바의 인터페이스로, 키-값 쌍으로 이루어진 데이터를 저장하는 데 사용됩니다. 스프링 프레임워크에서는 주로 컨트롤러 메서드에서 데이터를 전달할 때 사용됩니다.Map은 키와 값의 쌍으로 이루어져 있으며, 키를 통해 값을 검색하고 저장할 수 있습니다. 스프링 프레임워크에서는 주로 컨트롤러 메서드에서 데이터를 매개변수로 받을 때 Map을 사용하여 데이터를 전달합니다.

5.Set : Set은 자바의 인터페이스로, 중복되지 않는 데이터를 저장하는 데 사용됩니다. 스프링 프레임워크에서는 주로 중복을 허용하지 않는 데이터를 다룰 때 사용됩니다.
Set은 순서를 보장하지 않는 데이터 구조로, 중복된 값을 저장하지 않습니다. 따라서 유일한 값을 저장하고 검색하는데 사용됩니다.

6.HashSet : HashSet은 자바의  클래스로, Set 인터페이스를 구현한 구체적인 클래스입니다. HashSet은 중복된 값을 허용하지 않으며, 순서를 보장하지 않습니다.
HashSet은 해시 함수를 사용하여 값을 저장하고 검색하기 때문에, 매우 빠른 검색 속도를 제공합니다. 따라서 많은 데이터를 효율적으로 관리할 때 유용하게 사용됩니다.

7.@RequestParam : @RequestParam은 스프링 프레임워크에서 사용되는 애노테이션으로, HTTP 요청 파라미터를 컨트롤러 메서드의 매개변수로 전달하는데 사용됩니다. 주로 GET 또는 POST 요청에서 사용되며, 매개변수에 해당하는 파라미터 값을 추출할 수 있습니다.
@RequestParam은 요청 파라미터의 이름과 매개변수 이름이 일치하지 않을 때 사용될 수도 있습니다. 이를 통해 요청 파라미터와 매개변수를 매핑할 수 있습니다.

Chapter 7 스프림 폼 태그

더보기

1.Date : "Date"는 자바에서 날짜와 시간을 다루기 위해 사용되는 클래스입니다. 이 클래스는 java.util 패키지에 포함되어 있으며, 날짜와 시간 정보를 표현하고 조작하는 다양한 메서드를 제공합니다. 예를 들어, Date 객체를 생성하여 현재 시간을 저장하거나, 시간 간의 차이를 계산하는 등의 작업을 할 수 있습니다.

 

2.@ModelAttribute : 이 애노테이션은 컨트롤러의 메서드 파라미터 앞에 붙여 사용되며, 해당 파라미터를 모델에 추가하여 뷰로 전달할 수 있도록 도와줍니다. 주로 HTTP 요청 데이터를 객체에 바인딩하거나, 모델에 추가하는 용도로 사용됩니다.

3.@InitBinder : 웹 요청으로 들어오는 데이터를 바인딩하기 전에 초기화 작업을 수행하는 데 사용됩니다. 주로 데이터 유효성 검사나 데이터 변환 작업을 위해 활용됩니다. 예를 들어, 특정 필드의 데이터 유효성을 검사하거나, 특정 필드의 데이터 형식을 변환하는 작업을 할 때 사용할 수 있습니다.

4.WebDataBinder : 스프링 프레임워크에서 사용되는 클래스로, 웹 요청으로 들어오는 데이터를 도메인 객체와 바인딩하고 유효성 검사를 수행하는 역할을 합니다. 이를 통해 HTTP 요청 데이터를 처리하고, 도메인 객체로 변환하여 컨트롤러에서 사용할 수 있게 됩니다.

Chapter 9 파일 업로드 처리

더보기

1.MultiPartFile : 스프링 프레임워크에서 사용되는 인터페이스로, 멀티파트 요청에서 전송된 파일을 나타내는 객체입니다. 이 인터페이스는 파일의 이름, 크기, 컨텐츠 타입 등의 정보를 제공하고, 파일을 읽어오는 메서드를 포함하고 있습니다. 주로 파일 업로드 기능을 구현할 때 사용됩니다.

 

2.MultiPartServletRequest : 멀티파트 요청을 처리하는 서블릿 요청을 나타내는 인터페이스입니다. 이 인터페이스는 멀티파트 요청에서 전송된 파일이나 폼 데이터를 처리하기 위한 메서드를 제공합니다. 스프링 프레임워크에서는 MultiPartHttpServletRequest 인터페이스를 구현한 클래스인 StandardServletMultipartResolver를 사용하여 멀티파트 요청을 처리합니다.

3.File : "File"은 자바에서 파일과 디렉토리를 다루기 위해 사용되는 클래스입니다. 이 클래스는 파일의 경로, 이름, 크기, 수정 시간 등의 정보를 제공하고, 파일을 생성, 삭제, 읽기, 쓰기 등의 작업을 수행할 수 있습니다. 또한, 파일의 속성이나 디렉토리 구조를 다루는 메서드도 제공됩니다.

4.IOException : 자바에서 입출력 작업 중에 발생할 수 있는 예외 상황을 처리하기 위해 사용되는 예외 클래스입니다. 입출력 작업은 파일을 읽고 쓰는 등의 작업을 포함하며, 이러한 작업 중에 예기치 않은 상황이 발생할 수 있습니다. IOException은 이러한 상황에 대처하기 위해 사용되며, 예외 처리를 통해 프로그램의 안정성을 높일 수 있습니다.

5.HttpServletRequest : 자바 웹 애플리케이션에서 HTTP 요청 정보를 나타내는 인터페이스입니다. 이 인터페이스는 클라이언트로부터 전송된 요청에 대한 정보를 제공하고, 요청 헤더, 파라미터, 세션 등의 데이터에 접근할 수 있는 메서드를 제공합니다. 웹 애플리케이션 개발에 있어서 HTTP 요청을 처리하는 데 주로 사용됩니다.

6.HttpSession : 자바 웹 애플리케이션에서 클라이언트와 서버 간의 상태를 유지하기 위해 사용되는 객체입니다. 이 객체는 클라이언트마다 고유한 세션을 생성하고, 세션에 데이터를 저장하거나 조회할 수 있는 메서드를 제공합니다. 세션은 클라이언트의 접속을 유지하면서 상태 정보를 저장하여 로그인 상태 유지, 장바구니 등의 기능을 구현하는 데 사용됩니다.

Chapter 10 예외 처리

더보기

1.@ResponseStatus : 스프링 프레임워크에서 사용되는 애노테이션으로, 컨트롤러 메서드의 응답 상태 코드를 지정하는 데 사용됩니다. 이 애노테이션을 사용하여 특정 예외가 발생했을 때 반환되는 응답의 상태 코드를 지정할 수 있습니다. 예를 들어, 특정 예외가 발생하면 404 Not Found 상태 코드를 반환하도록 설정할 수 있습니다.

 

2.@ExceptionHandler : 스프링 프레임워크에서 사용되는 애노테이션으로, 컨트롤러 내에서 발생하는 예외를 처리하기 위해 사용됩니다. 이 애노테이션을 사용하여 특정 예외가 발생했을 때 실행되는 메서드를 지정할 수 있습니다. 예를 들어, 특정 예외가 발생하면 해당 예외를 처리하는 메서드를 실행하여 예외를 적절하게 처리할 수 있습니다.

3.@ControllerAdvice : 스프링 프레임워크에서 사용되는 애노테이션으로, 여러 컨트롤러에 대한 공통적인 설정이나 예외 처리를 정의하기 위해 사용됩니다. 이 애노테이션을 사용하여 전역적으로 적용되는 예외 처리, 바인딩 설정, 모델 객체 조작 등을 정의할 수 있습니다.

4.HttpStatus : HTTP 응답 상태 코드를 나타내는 열거형 상수들을 제공하는 클래스입니다. 이 클래스는 다양한 HTTP 상태 코드(예: 200 OK, 404 Not Found, 500 Internal Server Error 등)를 상수로 정의하여 사용할 수 있습니다. 스프링 프레임워크에서는 주로 "@ResponseStatus" 애노테이션과 함께 사용되어 컨트롤러의 응답 상태 코드를 지정하는 데 활용됩니다.

5.@SuppressWarnings : 자바 컴파일러의 경고 메시지를 억제하는데 사용되는 애노테이션입니다. 이 애노테이션을 사용하면 특정 경고 유형에 대해 컴파일러가 경고를 표시하지 않도록 할 수 있습니다. 주로 컴파일러 경고를 무시해야 하는 상황에서 사용되며, 코드의 가독성을 향상시키는 데 도움이 됩니다.

Chapter 11 로그 기록

더보기

1.Logger

 

2.Appender

3.Layout

4.LoggerFactory

5.HandlerInterceptor

6.HandlerInterceptorAdaptor

7.DateFormat

8.SimpleDateFormat

9.Calendar

10.StopWatch

11.MonitoringInterceptor

Chapter 12

Chapter 13

Chapter 14

Chapter 15

Chapter 16

'정리 노트 > Spring' 카테고리의 다른 글

Spring JSON [17-2]  (0) 2024.01.30
Spring Chapter13~Chapter14 [17-1]  (0) 2024.01.29
Spring Chapter13 [16-5]  (0) 2024.01.26
Spring Chapter11~Chapter12 [16-3]  (0) 2024.01.25
Spring Chapter11 [16-3]  (0) 2024.01.24
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함