본문 바로가기

반응형

Develop/Spring

(6)
[Spring] Entity Class와 OOP 들어가면서 JAVA는 객체 지향 프로그래밍 패러다임을 사용하고 있는 언어입니다. 객체 지향 프로그래밍, 즉 OOP는 객체는 모두 자율적인 객체여야 하며, 이때 자율적인 객체라는 의미는 객체가 자신의 상태를 직접 관리하고 스스로의 결정에 따라 행동하는 객체임을 의미합니다. 그런데, Spring을 이용하여 개발할 때, Entity 클래스는 Database의 Table과 1:1 매칭되는 객체를 의미합니다. 그리고 상태(필드)만 가질 뿐, 해당 엔티티에 대한 책임(매서드)는 온전히 가지고 있지 못한 상태로 보입니다. 그래서 어떻게 해야 OOP 관점에서 Entity 클래스를 정의하는게 좋을 지 정리하고자 합니다. OOP 단어 정의 OOP에서 자주 등장하는 단어 협력, 책임, 역할을 간단하게 설명하면 다음과 같습니..
[Spring] Exception (예외) 처리 스프링 예외 스프링 예외는 2가지로 나뉜다: Dispatcher Servlet 외에서 발생하는 예외 Filter에서 발생하는 예외를 의미하기도 한다. Spring Security의 Filter에서 발생하는 예외가 이에 해당한다. Dispatcher SErvlet 내에서 발생하는 예외 스프링 MVC 내에서 발생하는 예외를 의미하기도 한다. 서버 개발자가 일반적으로 처리해야 하는 예외는 이에 해당한다. 예외 처리 방법: Filter에서 발생하는 에러: web.xml에서 error-page 등록 예외 처리 필터를 둔다. 예외 발생 시, HandlerExceptionResolver를 빈으로 주입받아 @ExceptionHandler에서 처리하는 방법 DispatcherServlet의 예외 처리기인 HandlerE..
[Spring] Dispatcher Servlet 세부 동작 분석 Dispatcher Servlet의 세부 동작을 분석한 다이어그램을 작성해보았습니다. HandlerMethodArgumentResolver에 대해 이해하기 위해 시작하였으며, 추상 클래스나 몇 개의 인터페이스는 생략하기도 했습니다.
[Spring] WS, WAS, Web Container, Servlet Container Web Server HTTP를 통해 클라이언트가 어떤 요청을 하면 요청에 맞는 정적 컨텐츠를 제공하는 서버, 미들웨어입니다. (미들웨어란, 애플리케이션과 운영 체제 사이에서 다양한 기능을 제공하는 소프트웨어 계층을 의미합니다. 여기서 다양한 기능이란 분산 시스템 간의 통신, 데이터 관리 등이 포함됩니다.) 주요 기능: 1. 정적 컨텐츠 제공 2. HTTP 요청 처리 3. 로드 밸런싱 4. .SSL/TLS 처리 5. 캐싱 ... Web Application Server DB 조회, 비즈니스 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 Application 서버, 미들웨어입니다. Web Server + Web Container로 볼 수도 있습니다. 주요 기능: 1. 동적 컨텐츠 제공 2. 비즈..
[Spring Security] Spring-Security 이해 - 1 Spring Security는 방대하다. Security에 대한 이해가 있어야 견고한 서버를 구축할 수 있다. 시큐리티를 이해하는 프로젝트를 진행해보자. 프로젝트 세부정보 Base Project Spring Security in Action chapter 6의 프로젝트 Version JDK: Oracle 17 Spring ver: 3.1 Database mysql dependency 설정 spring-web jpa jdbc security lombok mysql driver thymeleaf mysql 연동 mysql 연동을 위한 application.properties https://github.com/dbwp031/spring-security-study/commit/900e65af5c4994ea63f..
[Spring] Servlet관련 기본 개념 들어가면서 Spring 공부를 처음 시작하면 servlet의 개념에 대해서 매우 간단하게 배운 후 넘어가게 됩니다. 그러나 계속 공부하다보면 모든 요청, 응답이 servlet으로 동작하는 것을 알게 되고 이에 대한 자세한 이해가 요구됩니다. 이번 포스트에서는 servlet과 관련된 개념들에 대해 이해하고자 합니다. 개념 Servlet Servlet의 docs를 보도록 합시다. 간단하게 요약하면 servlet은 web server에서 웹 클라이언트의 요청을 받고 처리(응답)하는 작은 자바 프로그램입니다. 이때 대부분 HTTP를 사용합니다. 그렇기 때문에 interface인 servlet의 구현체로 HttpServlet이 있는 것이죠. servlet의 인터페이스는 life-cycle methods가 정의되어..

반응형