Spring
@Transactional 어노테이션 정리
트렌잭션이란? - 데이터베이스 상태를 변화시키기 위한 작업의 단위(더 이상 쪼개질 수 없는 최소의 연산을 의미) - 데이터베이스 상태를 변화시키는 것은 간단하게 말해서 SQL을 활용하여 데이터베이스에 접근하는 것을 의미한다. 트렌젝션의 특징 4가지(ACID) 1. 원자성(Atomacity) - 트렌잭션이 시행되면 모든 작업이 실행되거나, 모든 작업이 실행이 안되어야 한다.(트렌잭션 내 특정 작업만 실행X) 2. 일관성(Consistency) - 트렌잭션이 진행되는 동안에 데이터베이스의 업데이트와 같은 변화가 있어도, 처음에 참조한 데이터베이스를 활용한다. 3. 독립성(Isolation) - 하나의 트렌젝션은 다른 트렌젝션 연산에 끼어들 수 없다. 4. 지속성(Durability) - 트렌젝션 성공 시, ..
서블릿과 JSP- 02 정리
- HTTP는 상태정보를 저장하지 않기 때문에 저장소가 필요하다. - 저장소는 총 4개를 제공한다. 이러한 저장소는 다음과 같은 두가지 기준으로 구분된다. 1. 접근 범위 2. 생존기간 저장소 종류 1. pageContext - lv(지역변수) 저장 기능 - 기본 객체(request, response) 포함 - 범위는 해당 페이지 안에서만 존재가 가능하다(다른 페이지에서 접근 불가) 같은 메소드안에 있는데 lv를 저장소에 저장해서 쓰는 이유는? -> ${}과같은 EL을 사용하기 위해, EL은 lv에 직접 접근이 불가능하기에 저장소가 필요하다. 2. application - webapp전체에서 접근 가능한 저장소 - 저장소의 key값을 attribute(속성)이라 할 때 application 저장소는 전체..
스프링 입문 강의 요약 01-3
- view 환경설정 - welcome page 만들기 (도메인 입력하여 들어왔을 때 뜨는 첫 화면) - 다음과 같이 resources파일의 static 안에다 index.html을 만들어주면 이것이 welcomepage가 된다. - 강의에서 제공해주는 소스코드를 붙여넣기 하면 이전에 오류만 뜬 웹페이지 화면이 다음과 같이 변경된다. - 위와 같은 과정은 정적 소스코드에 불가하다. 타임릴리프 템플릿을 쓰면 loop를 쓸수도 있고 알고리즘을 만들 수 있다. - 동적으로 작동하는 원리를 살펴보면 웹브라우저에서 내장 톰켓서버로 호출하고 helloController라는 클래스를 통하여 return 값으로 hello를 반환하면 viewResolver을 통하여 template폴더에 hello.html을 실행시키는 ..
스프링 입문 강의 요약 01-2
- 실제 라이브러리 임포트는 2개 밖에 안했지만 external library에는 무수히 많은 라이브러리들이 임포트 되어 있다 - 그 이유는 Gradle이 서로 의존관계에 있는 라이브러리들을 다 임포트 해주기 때문이다. - 현업 종사자 분들은 System.out.println(); 형식으로 출력하면 안된다. - 로그를 통해서 출력해야 심각한 오류를 관리 할 수 있고 로그를 남겨 로그 파일을 관리할 수 있기 때문이다. - logging을 임포트하면 제일 대표적인 slf4j와 logback이 의존관계로 임포트 된다. - 이를 통해서 로그 관리를 진행한다. 스프링 부트 라이브러리 spring-boot-starter-web spring-boot-starter-tomcat: 톰캣 (웹서버) spring-webmv..