목록backend/spring (5)
배움과 기록의 장

* 김영한님의 '스프링 핵심 원리 - 기본편' 인프런 강의 수강 후 복습을 위해 작성한 글입니다. 작성자의 이해에 따라 쉽게 풀어쓰거나 재구성 될 수 있습니다. 1️⃣ 스프링이란?스프링은 자바 언어 기반의 프레임워크로, 자바의 가장 큰 특징인 객체 지향을 살려 좋은 객체 지향적 애플리케이션을 개발할 수 있도록 돕는 도구이다. 스프링은 이러한 객체 지향 프로그래밍을 위한 노력으로, 다음과 같은 핵심원리를 도입하였다.IoC (Inversion of Control, 제어의 역전)DI (Dependency Injection, 의존성 주입)컨테이너이번 글에서는 각 핵심 원리에 대해 살펴보며, 스프링은 이러한 개념들을 통해 어떻게 객체 지향 프로그래밍을 하고자 하였는지 이해해보자. 2️⃣ 객체 지향 프로그래밍..
2023.2.13 작성 🔸 HTTP 헤더1) HTTP 헤더란?- Http 메시지의 구성요성 중 하나 - 클라이언트의 요청이나 서버의 응답에 포함되어, 부가적인 정보를 HTTP 메시지에 포함할 수 있도록 해줌 2) HTTP의 사용목적?- 클라이언트와 서버 관점에서의 HTTP 헤더 예시내부적으로 가장 많이 사용되는 헤더 정보: 'Content-Type''Content-Type'은 클라이언트와 서버가 주고받는 HTTP 메시지 바디의 데이터 형식이 무엇인지 알려준다.클라이언트와 서버는 'Content-Type'이 명시된 데이터 형식에 맞는 데이터를 주고 받는다. ex.우리는 'application/json'- 개발자들이 실무에서 사용하는 HTTP 헤더 예시개발자들이 직접 코드레벨에서 HTTP 헤더를 컨트롤 ..
2023.2.13 작성 🔸 JDBC란?- Java 기반 애플리케이션의 코드레벨에서 데이터베이스에 있는 데이터를 사용할 수 있게 데이터베이스에 접근할 수 있도록 Java에서 제공하는 표준 사양- Java 초창기(JDK 1.1) 버전부터 제공- 자바개발자는 JDBC API를 사용해서 다양한 벤더(Oracle, MS SQL, MySQL 등)의 데이터베이스와 연동가능( 데이터 액세스 기술의 기본이 되는 저수준(low level) API이기 때문에, JDBC의 구체적인 API 사용법을 알 필요는 없다. 하지만 Sping Data JDBC나 Spring Data JPA 같은 기술에서도 내부적으로는 JDBC를 사용하기 때문에, JDBC 동작 흐름 정도는 알아두면 Spring에서 지원하는 데이터 엑세스 기술을 사용하..
2023.2.13 작성 🔸 API 계층 구현Spring MVC에서 클라이언트 요청의 최종목적지인 API계층, 즉 Controller 클래스를 설계하고 구현한다. 🔸 프로젝트 환경 구성1. 샘플 프로젝트 소개1) 애플리케이션 이름: 커피주문 웹 애플리케이션 (커피 주문을 위해 필요한 정보를 제공하기 위한 서버용 웹애플리케이션)2) 애플리케이션 경계(앱 기능을 특정 범위로 제한하는 것) : 커피만 주문할 수 있도로 기능 제한3) 커피 주문을 위해 필요한 정보: Coffee , Member, Order4) 커피 주문 앱에서 제공할 기능: 주인이 커피정보를 등록,수정,조회,삭제하는 기능 등 2. 샘플 프로젝트 환경 구성- Project: Gradle-Groovy- Language: Java- Sprin..
2023.2.13 작성 🔸 Spring MVC (spring-webmvc 모듈) 란?- 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 편리하게 처리해주는 모듈/프레임워크- 서블릿이란? 클라이언트의 요청을 처리하도록 특정 규약에 맞추어 Java코드로 작성하는 클래스 파일- 아파치 톰캣은 이러한 서블릿들이 웹 애플리케이션으로 실행이 되도록 해주는 서블릿 컨테이너 중 하나 1) Model - 클라이언트에게 응답으로 돌려주는 작업의 처리결과 데이터 2) View - Model 데이터를 이용해 클라이언트 애플리케이션의 화면에 보여지는 리소스를 제공하는 역할 - Spring MVC에 포함된 다양한 view기술과 view 형태 HTML 페이지 출력 : HTML를 직접 렌더링해서 클라이언트 ..