목록전체 글 (35)
kimgusxo 님의 블로그

1. DispatcherServlet(= 모든 요청의 입구)Spring MVC의 Front Controller모든 요청을 받아서 알맞은 구성요소로 분배(dispatch) 한다. 1-1. DispatcherServlet의 역할요청 수신: 모든 HTTP 요청을 가로챔핸들러 탐색: 어떤 컨트롤러가 처리할지 결정한다.실행 위임: 컨트롤러를 실행하고 결과(ModelAndView)를 수신뷰 렌더링 위임: 결과 뷰를 ViewResolver 통해서 결정하고 실행한다. 1-2. DispatcherServlet 내부 코드protected void doDispatch(HttpServletRequest request, HttpServletResponse response) { HandlerExecutionChain han..

1. 서블릿(Servlet)이란?서블릿은 자바에서 제공하는 웹 어플리케이션 구성 요소클라이언트의 HTTP 요청을 처리하고 HTTP 응답을 생성한다.파일 다운로드, HTML form, JSON 등 다양한 포맷의 통신 용도로 사용한다.@WebServlet("/hello")public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { resp.setContentType("text/plain"); resp.getWriter().write("Hello from Servlet!..
1. 트랜잭션(Transaction)이란?트랜젝션은 하나의 작업 단위를 의미하며 이 단위는 반드시 모두 성공하거나 모두 실패해야한다.데이터의 일관성, 안정성, 무결성을 지키는 도구이며 스프링에서는 @Transactional로 간단하게 처리한다.대표 예: 계좌이체는 출금+입금 모두 성공해야 하는 것, 하나라도 실패하면 모두 취소해야한다. 1-1. 트랜잭션의 4대 속성 (ACID)원자성(Atomicity): 전부 성공하거나 실패해야 한다.일관성(Consistency): 무결성이 보장되어야 한다.격리성(Isolation): 다른 트랜잭션간 간섭이 불가능 해야한다.지속성(Durability): 성공한 트랜잭션은 영구적으로 반영되야 한다. 2. 스프링에서의 트랜잭션스프링은 @Transactional을 통해 트랜잭..

1. AOP란?."관점 지향 프로그래밍"으로 핵심 로직 외의 반복되는 부가 기능(cross cutting concerns)을 공통된 영역(aspect)으로 분리해서 관리하는 프로그래밍 패러다임이다.로그 남기기, 트랜잭션 처리, 시간 측정 등에 사용된다. 1-1. 기존 방식 문제점public class MemberService { public void join(Member member) { long start = System.currentTimeMillis(); try { repository.save(member); } finally { long end = System.currentTimeMillis(); ..