1. 스프링 mvc request life cycle 2. Filter와 Interceptor는 실행 시점이 다르다. Filter는 WebApplication에 등록 - web.xml Interceptor는 Spring의 Context에 등록 필터체인 예제와 인터셉터 예제하기 3. Interceptor와 Filter의 차이 Interceptor는 시큐리티가 나오기전에 인증, 권한을 체크하는 훌륭한 도구로 사용되었다. Interceptor는 AOP를 흉내낼 수 있다. handlerMethod를 제공하기 때문에 메서드의 전후 처리가 가능하다. 4. Security Security의 인증 절차는 필터 체인을 거쳐 dispatcherservlet으로 가기전에 적용된다. 그리고 Security는 필터 체인을 통해..
1. 오라클 read commit 2. MySQL repeatable read 둘은 select시에 트랜잭션을 걸게 되면 차이가 들어난다. 무슨 차이가 있는지 살펴보자. PHANTOM READ (데이터가 보였다 안보였다) -> 정합성이 깨짐 3. 스프링부트의 트랜잭션 - 세션의 시작은 서블릿이 시작되는 시점 부터~ (세션은 영속성 컨텍스트를 포함) - 트랜잭션의 시작은 서비스 레이어부터, JDBC 커넥션도 이 시점부터. - 트랜잭션의 종료는 서비스 계층에서 종료, JDBC 커넥션도 이 시점 부터 종료. - 세션은 컨트롤러 영역까지 끌고 가기 때문에 영속성이 보장되어 select가 가능해지고 lazy-loading이 가능해진다. 참고 블로그 : https://getinthere.tistory.com/27
메타코딩 - 스프링부트 개념 정리 with JPA를 기반으로 작성된 글입니다. 1. 스프링부트 동작 원리 (1) 내장 톰켓을 가진다. 톰켓을 따로 설치할 필요 없이 바로 실행 가능하다. Socket : 운영체제가 가직고 있는 것! -- 소켓통신 A가 5000번 포트에 소켓을 오픈한다. B가 ip주소와 포트번호 5000으로 A와 통신 이때, ip5000번은 B가 쓰고 있으므로 C는 A와 통신이 불가능하다. 그래서 A의 5000번 포트는 연결의 용도로만 사용 후 연결이 되는 순간 새로운 소캣(5001)을 생성하고 연결을 끊는다. B는 5000번 포트와 연결이 끊기고 5001번을 통해 A와 통신을 진행한다. 하지만 CPU는 5001번에서 자원을 모두 사용 중이라 C의 통신을 받을 수가 없다. 따라서 새로운 포..
메타코딩 - 스프링부트 개념 정리 with JPA를 기반으로 작성된 글입니다. 1.JPA란? Java Persistence API Persistence(영속성)이란 : 프로그램이 종료되더라도 생성한 데이터가 사라지지 않는 특성. Java는 DBMS(Database Management System)로 데이터를 관리 한다. API(Application Programming Interface)란 : 어플리케이션(A) : 프로그램 프로그래밍(P) : 프로그램을 만들기 위한 방법↖ 인터페이스(I) : 프로그래밍을 하기 위한 약속 및 규칙↖ !주의 프로토콜 | 인터페이스 :약속 :약속 동등한 약속 |상하 관계가 존재하는 약속 JPA란 : 자바 프로그래밍을 할 때 영구적으로 데이터를 저장하기 위해서 필요한 인터페이스..