[Spring] 어노테이션 정리
Back-End/Spring2024. 2. 23. 00:56[Spring] 어노테이션 정리

@Component클래스를 스프링 빈으로 등록하기 위한 일반적인 스테레오타입 어노테이션. 스프링이 관리하는 컴포넌트임을 나타낸다. @Component 어노테이션은 @Repository, @Service, @Controller와 같은 더 구체적인 스테레오타입 어노테이션의 기반으로 작용한다.이들은 각각 데이터 접근 계층, 비즈니스 로직 계층, 프레젠테이션 계층의 클래스를 나타내는 데 사용되며, @Component의 특수한 형태로 볼 수 있다. 이 구체적인 어노테이션들을 사용함으로써, 개발자는 애플리케이션의 다양한 부분을 더 명확하게 구분할 수 있고, 스프링은 특정 역할을 가진 컴포넌트를 적절히 처리할 수 있다. @ComponentScan스프링이 @Component 어노테이션이 붙은 클래스를 찾아 빈으로 등록..

[Spring MVC] 기본 기능 - HTTP 응답
Back-End/Spring2024. 2. 22. 00:19[Spring MVC] 기본 기능 - HTTP 응답

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 스프링(서버)에서 응답 데이터를 만드는 방법은 크게 3가지이다. 정적 리소스 -예) 웹 브라우저에 정적인 HTML, css, js를 제공할 때는, 정적 리소스를 사용한다. 뷰 템플릿 사용 -예) 웹 브라우저에 동적인 HTML을 제공할 때는 뷰 템플릿을 사용한다. HTTP 메시지 사용 -HTTP API를 제공하는 경우에는 HTML이 아니라 데이터를 전달해야 하므로, HTTP 메시지 바디에 JSON 같은 형식으로 데이터를 실어 보낸다. 정적 리소스 스프링 부트는 클래스패스의 다음 디렉토리에 있는 정적 리소스를 제공한다. /static , /public , /resources , /META-INF/resources ..

[Spring MVC] 기본 기능 - HTTP 요청, 요청 파라미터
Back-End/Spring2024. 2. 21. 00:27[Spring MVC] 기본 기능 - HTTP 요청, 요청 파라미터

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. HTTP 요청 어노테이션 기반의 스프링 컨트롤러는 다양한 파라미터를 지원한다. @Slf4j @RestController public class RequestHeaderController { @RequestMapping("/headers") public String headers(HttpServletRequest request, HttpServletResponse response, HttpMethod httpMethod, Locale locale, @RequestHeader MultiValueMap headerMap, @RequestHeader("host") String host, @CookieValue(valu..

[Spring MVC] 기본 기능 - 요청 매핑
Back-End/Spring2024. 2. 20. 00:47[Spring MVC] 기본 기능 - 요청 매핑

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. @RestController 특정 클래스를 RESTful 웹 서비스의 컨트롤러로 지정한다. 이 어노테이션을 사용한 클래스는 HTTP 요청을 처리하는 핸들러 메소드를 포함하며, 각 메소드는 특정 HTTP 요청(예: GET, POST, DELETE 등)에 매핑된다. @RestController는 @Controller 와 유사하지만, 차이점은 @RestController 로 지정된 컨트롤러의 메소드가 기본적으로 HTTP 응답 본문(Body)에 직접 데이터를 작성한다는 점이다.이는@ResponseBody 어노테이션을 모든 핸들러 메소드에 적용한 것과 같은 효과를 가진다. @Controller 는 반환 값이 String..

[Spring] Logging
Back-End/Spring2024. 2. 19. 20:09[Spring] Logging

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 운영 시스템에서는 System.out.println() 같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용해서 로그를 출력한다. 스프링 부트 라이브러리를 사용하면 스프링 부트 로깅 라이브러리(spring-boot-starter-logging)가 함께 포함된다. 스프링 부트 로깅 라이브러리는 기본으로 다음 로깅 라이브러리를 사용한다. SLF4J - http://www.slf4j.org Logback - http://logback.qos.ch 로그 라이브러리는 Logback, Log4J, Log4J2 등등 수 많은 라이브러리가 있는데, 그것을 통합해서 인터페이스로 제공하는 것이..

[Spring MVC] 스프링 MVC - 구조 이해
Back-End/Spring2024. 2. 18. 20:44[Spring MVC] 스프링 MVC - 구조 이해

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 2024.02.17 - [Java Category/JSP] - JSP와 서블릿을 이용한 MVC 프레임워크 만들기 JSP와 서블릿을 이용한 MVC 프레임워크 만들기 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. Model, View, Controller 컨트롤러: HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행한다. 그 rebugs.tistory.com 위 글과 이어진 내용입니다. JSP로 만든 MVC 프레임워크와 스프링 MVC 프레임워크의 구조가 매우 비슷하다는 것을 알 수 있다. 핵심은 FrontController와 DispatcherServl..

[Spring MVC] 웹 어플리케이션의 이해
Back-End/Spring2024. 2. 13. 00:52[Spring MVC] 웹 어플리케이션의 이해

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 웹 서버, 웹 애플리케이션 서버 웹은 HTTP 프로토콜 기반으로 통신하여 데이터를 주고받는다. HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML (API) 등 웹 서버 (Web Server) HTTP 기반으로 동작 정적 리소스 제공, 기타 부가기능 정적 (파일) HTML, CSS, JS, 이미지, 영상 NGINX, APACHE 등이 웹 서버로 사용 웹 애플리케이션 서버 WAS (Wep Application Server) HTTP 기반으로 동작 웹 서버 기능 + 프로그램 코드 실행하여 애플리케이션 로직 수행 동적 HTML, HTTP API(JSON), 서블릿, JSP, 스프링 MVC 톰캣, J..

[Spring 핵심원리 - 기본] Bean Scope
Back-End/Spring2024. 2. 3. 00:14[Spring 핵심원리 - 기본] Bean Scope

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 빈 스코프 스프링 빈은 기본적으로 싱글톤으로 생성되고, 싱글톤 스코프이기 때문에 스프링 컨테이너의 시작과 함께 스프링 컨테이너가 종료될 때 까지 유지된다. 스코프는 번역 그대로 빈이 존재할수 있는 범위를 뜻한다. 스프링은 다음과 같은 다양한 스코프를 지원한다. 싱글톤: 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프 프로토타입: 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프 웹 관련 스코프 request: 웹 요청이 들어오고 나갈때 까지 유지되는 스코프 session: 웹 세션이 생성되고 종료될 때 까지 유지되..

image