3-1) 스프링 MVC 기초: WebApplicationInitializer, WebMvcConfigurerAdapter, @EnableWebMvc, @Controller, InternalResourceViewResolver, jsp
- MVC 패턴 MVC 패턴은 다양한 웹 프레인워크에 적용된 디자인 패턴이다. 클라이언트로부터 요청을 받고, 요청에 맞는 처리를 하고, 응답을 만드는 과정을 분리하여 유연하고 효율적으로 코드를 작성할 수 있도록 한다. 이때 요청에 따른 처리를 하는 부분을 Model, 응답을 만드는 부분을 View, 요청을 받는부분을 Controller라고 하고, 각 앞글자를 따서 MVC 패턴이라고 부른다. Model(모델) 어플리케이션의 데이터나 로직을 처리하는 역할 View(뷰) 클라이언트에 반환할 응답을 생성하는 역할 Controller(컨트롤러) 클라이언트의 요청에 따라 모델과 뷰의 호출을 제어하는 역할 Spring MVC는 MVC 패턴을 채택한 프레임 워크로, 스프링 웹 어플리케이션 개발에 필수적으로 사용된다. ..
2-2) 스프링 트랜잭션 관리: ACID, Dirty Read, Repeatable Read, Pantom Read, @EnableTransactionManagement, @Transactional, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE
- 데이터베이스 트랜잭션 데이터베이스 트랙잭션이란, 데이터관리 시스템에서 사용되는 업무처리 단위를 말한다. 은행에는 송금이라는 기본적인 기능이 있다. 송금은 내부적으로 출금 계좌에서 돈을 꺼내는 과정과, 입금 계좌에 돈을 넣는 과정으로 나누어 볼 수 있다. 여기서 두개의 과정중 일부만 실패하거나 성공하는 경우는 일어나서는 안된다. 이처럼 트랜잭션은 지켜져야하는 조건이 있는데 이를 ACID라고 부른다. - RDB의 특징: ACID 최근 NoSQL과 같은 새로운 형태의 DB가 인기를 끌고 있긴 하지만, 여전히 대다수의 서비스에서는 관계형 데이터베이스(Relational Database), RDB를 사용한다. RDB는 키와 값들의 간단한 관계를 테이블화 시킨 데이터베이스이다. 그리고 RDB에서 지켜져야하는 다..