본문 바로가기
반응형

백엔드/스프링34

[Spring] 6장: RESTful API 심화와 예외 처리 6장: RESTful API 심화와 예외 처리잘 설계된 API는 협업의 효율성을 높이고 안정적인 서비스를 만드는 기반이 됩니다. RESTful API 설계 원칙을 더 깊이 이해하고, 애플리케이션 전역에서 발생하는 다양한 예외(Exception)를 일관되고 우아하게 처리하는 방법을 학습합니다.1. 핵심 개념REST (Representational State Transfer): 웹의 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미하는 아키텍처 스타일입니다.RESTful API: REST 아키텍처의 원칙을 잘 지켜서 설계된 API를 의미합니다. (자원(URI), 행위(HTTP Method), 표현(Representation)의 특징을 가집니다.)예외 처리(Exception Handling.. 2025. 9. 18.
[Spring] 5장: Spring Security를 이용한 인증과 인가 5장: Spring Security를 이용한 인증과 인가대부분의 웹 서비스는 '로그인' 기능을 필요로 합니다. Spring Security는 인증(Authentication)과 인가(Authorization)에 대한 강력하고 포괄적인 기능을 제공하는 프레임워크입니다. 필터 체인 기반으로 동작하며, 폼 로그인, 소셜 로그인(OAuth2), JWT(JSON Web Token) 등 다양한 인증 방식을 지원합니다.1. 핵심 개념인증 (Authentication): 당신이 누구인지 증명하는 과정입니다. (예: 아이디와 비밀번호로 로그인)인가 (Authorization): 당신이 특정 리소스에 접근할 권한이 있는지 확인하는 과정입니다. (예: 'ADMIN' 역할을 가진 사용자만 관리자 페이지에 접근 가능)Princ.. 2025. 9. 18.
[Spring] 4장: JPA와 Spring Data JPA로의 도약 4장: JPA와 Spring Data JPA로의 도약MyBatis가 SQL 중심의 개발 방식이라면, JPA는 객체(Object) 중심의 개발 방식입니다. SQL 쿼리를 직접 작성하는 대신, 자바 객체를 조작하면 JPA가 알아서 적절한 SQL을 생성하여 데이터베이스와 통신합니다. 이를 통해 개발자는 비즈니스 로직에 더 집중할 수 있습니다.1. 핵심 개념JPA (Java Persistence API): 자바 진영의 ORM(Object-Relational Mapping) 기술 표준입니다.ORM (Object-Relational Mapping): 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 기술입니다.Entity: 데이터베이스 테이블과 매핑되는 자바 클래스입니다. @Entity 어노테이션을 .. 2025. 9. 18.
[Spring] 3장: MyBatis를 이용한 데이터베이스 연동 3장: MyBatis를 이용한 데이터베이스 연동JDBC를 직접 사용하는 방식에서 한 단계 나아가, SQL 매퍼(Mapper) 프레임워크인 MyBatis를 사용하는 방법을 복습합니다. 반복적인 JDBC 코드를 제거하고, SQL 쿼리를 XML이나 어노테이션에 분리하여 관리함으로써 생산성과 유지보수성을 높이는 방법을 익힙니다.1. 핵심 개념MyBatis: SQL 쿼리를 자바 객체와 매핑해주는 퍼시스턴스 프레임워크입니다. 개발자는 SQL 쿼리만 작성하면, MyBatis가 JDBC의 복잡한 처리 과정을 대신 수행해줍니다.Mapper Interface: SQL 쿼리에 해당하는 자바 메소드를 선언하는 인터페이스입니다. @Mapper 어노테이션을 붙여 사용합니다.SQL 어노테이션: @Select, @Insert, @U.. 2025. 9. 18.
[Spring] 2장: Spring MVC와 웹 요청 처리 2장: Spring MVC와 웹 요청 처리웹 애플리케이션의 핵심인 HTTP 요청을 받고 응답하는 방법을 배웁니다. 사용자의 URL 요청을 어떤 컨트롤러의 어떤 메소드가 처리할지 '매핑'하고, 클라이언트로부터 데이터를 어떤 형식으로 받아 어떻게 응답할지 결정하는 방법을 복습합니다.1. 핵심 개념MVC: Model-View-Controller의 약자로, 애플리케이션을 세 가지 역할로 구분하는 디자인 패턴입니다.Model: 데이터와 비즈니스 로직 (Service, Repository/DAO, DTO)View: 사용자에게 보여지는 UI (JSP, Thymeleaf, React)Controller: 사용자의 요청을 받아 Model과 View를 중개하는 역할@RestController: @Controller와 @R.. 2025. 9. 18.
[Spring] 1장: Spring Boot와 제어의 역전(IoC) / 의존성 주입(DI) 1장: Spring Boot와 제어의 역전(IoC) / 의존성 주입(DI)Spring의 가장 핵심적인 사상인 IoC와 DI를 다시 한번 확실히 이해하는 챕터입니다. 왜 우리가 new 키워드로 객체를 직접 생성하지 않고, 스프링에게 객체 관리를 맡기는지에 대한 '철학'을 다집니다. 이것이 바로 클래스 간의 결합도를 낮추고 유연하고 확장 가능한 설계를 만드는 첫걸음입니다.1. 핵심 개념Bean: Spring IoC 컨테이너가 관리하는 자바 객체입니다. @Component, @Service, @Repository, @Controller 등의 어노테이션이 붙은 클래스들이 스캔되어 Bean으로 등록됩니다.IoC (Inversion of Control, 제어의 역전): 객체의 생성, 생명주기 관리 등을 개발자가 아.. 2025. 9. 18.
반응형