본문 바로가기

Spring5

DTO의 생성 위치(with 장점) 🌟 글의 취지먼저, 이 글은 자바, 스프링을 공부하면서 고민한 내용이다.자바와 스프링을 공부하는 사람이라면, 한번쯤은 DTO를 패키지의 어느 위치에 생성해야 하는지 고민해 본 경험이 있을 것이다. 프로젝트를 하면서 나 또한 정말 많이 고민하여 내 생각을 글로 표현하고자 이 글을 작성한다.정말 정답이 없는 내용이고 온전히 나의 생각이니 이 글을 읽는다면, 참고만 하는 것을 추천한다! ❓ DTO란?이 글을 읽는 사람은 DTO의 정의를 알고있겠지만, 내가 생각하는 DTO와 다를 수 있으니 이 글의 흐름 이해를 돕기 위해 DTO를 설명한다.DTO는 Data Transfer Object로 번역하면 데이터를 이동시키는 객체이다. 하지만 데이터를 이동할 때마다 DTO를 사용하지 않고, 주로 계층 간 데이터를 주고받.. 2025. 1. 19.
Spring Security의 흐름과 개념 설명 Spring Security스프링 시큐리티는 인증(Authentication), 권한(Authorize) 부여 및 보호 기능을 제공하는 프레임워크이다.스프링 시큐리티는 짜여진 내부 로직을 통해 인증, 권한을 확인에 필요한 기능과 옵션들을 제공한다.인증, 인가인증 : 해당 사용자가 본인이 맞는지를 확인하는 절차인가 : 인증된 사용자가 요청된 자원에 접근가능한가를 결정하는 절차.인증 방식credential 방식 : username, password를 이용하는 방식이중 인증(twofactor 인증) : 사용자가 입력한 개인 정보를 인증 후, 다른 인증 체계(예: 물리적인 카드)를 이용하여 두 가지의 조합으로 인증하는 방식이다.하드웨어 인증 : 자동차 키와 같은 방식→ Spring Security는 creden.. 2024. 8. 11.
Layered Architecture 아키텍처(Architecture)란?소프트웨어 시스템의 전체적인 구조와 구성요소들 간의 상호작용을 설계하는 것을 말한다.시스템의 전체적인 동작을 결정하고, 시스템의 품질 성능(성능, 확장성, 유지보수성, 보안 등)에 직접적으로 영향을 미친다.Layered Architecture소프트웨어 개발에서 가장 일반적으로 널리 사용되는 아키텍처이다.소프트웨어 시스템을 관심사 별로 여러 개의 계층으로 분리한 아키텍처를 뜻한다.각 계층은 어플리케이션 내에서 특정 역할과 책임이 있는데, 그들은 자신의 역할에만 집중한다. 중요한 것은 구성 요소간에 관심사가 분리(separation of concerns)되었다는 점이다.추상화된 인터페이스로만 소통한다. 소통은 자신에게 인접한 하위 계층에 요청을 보내는 방식으로 진행된다.단.. 2023. 10. 5.
HTTP요청부터 응답까지의 과정 전체 과정 틀클라이언트가 HTTP 요청WAS에서 메시지를 파싱 후 웹 서버에서만 필요한 정보라면 정적인 페이지를 반환하고 동적인 컨텐츠도 필요하다면 Request,Response객체를 만들어 Filter객체로 전달.Filter객체 내부에서 요청된 내용을 처리하고 HttpServletRequest, HttpServletResponse 로 변환해 DispatcherServlet으로 전달DispatcherServlet의 doDispatch()메소드 실행HandlerMapping을 통해 요청을 처리할 Controller를 찾음Controller를 찾고 Interceptor의 prehandle이 실행DispatcherServlet은 Controller를 실행해줄 HandlerAdapter를 찾는다.Adapter를.. 2023. 9. 25.
IoC 컨테이너 목차Spring IoC 컨테이너란?Spring IoC 컨테이너 종류Spring IoC 컨테이너의 생명 주기1. Spring IoC컨테이너란?Spring에서의 IoC객체(Bean)의 생성과 의존관계에 대한 관리(Control)를 사용자가 직접 하는 것이 아닌 스프링 컨테이너(외부)가 책임지는 구조를 의미한다.스프링에서 IoC의 역할을 담당하고 있는 것이 IoC Container이다.Container(컨테이너)란?스프링을 사용할 때 다루고자 하는 객체를 담는 공간을 컨테이너라고 한다.컨테이너는 객체의 생명주기를 관리하고 생성된 객체들에게 추가적인 기능을 제공한다.IoC Continer란?스프링에서 객체(Bean)를 생성하고 의존성을 관리하는 컨테이너를 의미한다.즉, IoC컨테이너는 단순히 객체의 생성뿐아니라.. 2023. 9. 20.