Spring/Spring 김영한 5

[Spring DB 1편] (3) 트랜잭션의 이해

인프런 김영한 - 스프링 DB 1 강의를 듣고 정리한 글 입니다. 목차 1. 트랜잭션이란 트랜잭션(Transaction)을 이름 그대로 번역하면 거래라는 뜻입니다. 이것을 풀어 이야기하면, 데이터베이스에서 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해주는 것을 뜻합니다. 모든 작업이 성공해서 데이터베이스에 정상 반영하는 것을 커밋(Commit)이라 하며, 작업 중 하나라도 실패해서 거래 이전으로 되돌리는 것을 롤백(Rollback)이라고 합니다. 2. 트랜잭션 특징 (ACID) 트랜잭션은 ACID라 하는 4가지 특징을 보장해야합니다. 원자성 (Actomicity) : 트랜잭션 내에서 실행한 작업들은 마치 하나으 ㅣ작업인 것처럼 모두 성공하거나 모두 실패해야한다. 일관성 (Consistency) : ..

[Spring DB 1편] (2) 커넥션풀과 데이터소스 이해

인프런 김영한 - 스프링 DB 1 강의를 듣고 정리한 글 입니다. 목차 Connection Pool 이란 DataSource 란 DataSourc 예제 1. 커넥션 풀 이해 이전 게시물의 방법대로 JDBC 를 사용한다면 데이터베이스에 접근할 때 마다 매번 커넥션을 획득해야하고 아래와 같은 불필요한 커넥션 과정을 거쳐야합니다. 커넥션 획득 과정 어플리케이션 로직은 DB 드라이버를 통해 커넥션을 조회한다. DB 드라이버는 DB 와 TCP/IP 커넥션을 연결한다. 물론 이 과정에서 3 way handshake 같은 TCP/IP 연결을 위한 네트워크 동작이 발생한다. DB 드라이버는 TCP/IP 커넥션이 연결되면 ID, PW 와 기타 부가정보를 DB 에 전달한다. DB는 ID, PW 를 통해 내부 인증을 완료하..

[Spring DB 1편] (1) Jdbc의 이해

인프런 김영한 - 스프링 DB 1 강의를 듣고 정리한 글 입니다. jdbc 의 등장배경과 사용방법, jdbc 연결방법에 대해서 다룹니다. 목차 jdbc 란 jdbc의 역사? JDBC 와 최신 데이터 접근 기술 데이터베이스 JDBC 커넥션 JDBC DriverManager 이해 JDBC 를 사용한 간단한 CRUD 1. jdbc 란 JDBC(Java Database Connectivity) 는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API 입니다. 2. jdbc 등장이유 어플리케이션을 개발할 때 중요한 데이터는 대부분 데이터베이스에 보관합니다. 클라이언트가 서버(어플리케이션)에 요청을 보내면, 데이터를 저장하거나 조회하는 것을 아래처럼 데이터베이스를 사용하여 처리합니다. 커넥션 연결: 주로 TC..

[Spring 기본편] (2) Spring 컨테이너의 필요성 - 스프링 컨테이너란, Bean의 관리

이번에는 스프링 컨테이너의 역할과 아래의 키워드에 대해서 공부한다..! 기능과 구현의 분리 사용과 구성의 분리 JAVA DIP, OCP를 위해서 객체지향의 다형성을 지키기위해, 기능(Interface)와 구현(구현체 class)를 분리해서 설계하여 클라이언트가 기능에 의존하고 있다고 생각해도 순수 자바코드로는, 기능이 변경될 떄 클라이언트 코드도 변경이 되고 만다. (사실상, 클라이언트는 기능과 구현 둘 다에 의존) (예시) public class OrderServiceImpl implements OrderService { // private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); private final DiscountPolicy..

[Spring 기본편] (1) 스프링이란 / 스프링과 객체 지향에 대하여

Spring(스프링) - 스프링이란, 자바 언어 기반의 프레임워크 - 자바 언어의 가장 큰 특징 = 객체 지향 언어 - 스프링은 객체 지향 언어가 가진 강력한 특징(객체지향)을 살려내는 프레임워크 -> 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크 Spring Framwork(스프링 프레임워크) - 스프링의 핵심기술 Spring boot(스프링 부트) - 스프링 부트란, 스프링을 편리하게 사용할 수 있도록 지원 - 단독으로 실행할 수 있는 스프링 어플리케이션을 쉽게 생성 - Tomcat 같은 웹서버를 내장해서 별도의 웹서버를 설치하지 않아도 됨 - 손쉬운 빌드 구성을 위한 starter 종속성 제공 (Dependency 라이브러리 간편 관리) - 스프링과 3rd parth(외..

반응형