[Spring] @Transactional에 대해서 알아보자
·
BackEnd/Spring
이번 시간엔 SpringBoot 개발을 하면서 DB 사용을 보다 더 편리하게 만들어주는 Transaction에 대해서 알아보고 실제로 사용되는 방법인 @Transactional에 대해서 공부한 내용을 정리해 보겠습니다. · Transaction이란?- 의미Transaction이란 여러 DB 작업을 하나의 논리적 작업 단위로 묶어서 전부 성공한다면 커밋(Commit)하고, 중간에 실패한다면 전부 롤백(Rollback) 되도록 보장하는 장치입니다.- 가지고 있는 핵심 성질 (ACID)Transaction이 가지고 있는 핵심 성질들에 대해서 살펴보겠습니다.Atomicity(원자성)작업은 모두 성공하거나, 모두 실패해야 합니다.Consistancy(동시성)트랜잭션 전후로 데이터는 항상 정해진 규칙과 제약 조건..
[Spring] Web Scope 정리 (request scope, Provider, Proxy)
·
BackEnd/Spring
저번글에 이어서 이번에는Spring의 Web 스코프에 대해서 정리해 보겠습니다. [Spring] Bean 생명주기 콜백 & Bean Scope(싱글톤, 프로토타입)· Bean 생명주기 콜백- Bean 생명주기 콜백이란?애플리케이션이 시작될 때 다음과 같은 초기화 작업이 필요한 경우가 많습니다.DB 커넥션 풀에 미리 연결외부 네트워크 소켓 연결파일 리소스 로딩myojun.tistory.com · 웹 스코프 (Web Scope)- 웹 스코프란?웹 스코프란 웹 환경에서만 사용 가능한 스코프로,Spring이 스코프 종료 시점까지 Bean을 관리합니다. 따라서 싱글톤, 프로토타입과 달리종료 메서드(@PreDestroy) 호출이 가능합니다. 웹 스코프의 종류는 다음과 같이 존재합니다.requestHTTP 요청 하..
[Spring] Bean 생명주기 콜백 & Bean Scope(싱글톤, 프로토타입)
·
BackEnd/Spring
· Bean 생명주기 콜백- Bean 생명주기 콜백이란?애플리케이션이 시작될 때 다음과 같은 초기화 작업이 필요한 경우가 많습니다.DB 커넥션 풀에 미리 연결외부 네트워크 소켓 연결파일 리소스 로딩그리고 애플리케이션이 종료될 때는이 리소스들을 안전하게 종료(close) 해야 합니다. 이러한 초기화 / 종료 작업을 위해 필요한 개념이 Bean 생명주기 콜백입니다.- Spring Bean 라이프 사이클Spring Bean은 다음과 같은 흐름을 가집니다.Spring Container 생성 →Spring Bean 생성 → 의존관계 주입(DI) → 초기화 콜백 → 사용 → 소멸 전 콜백 → Spring 종료Bean은 생성되고 의존관계 주입(DI)이 모두 끝난 뒤에 필요한 외부 자원(DB, 네트워크 등)을 사용할 ..
[Spring] @Autowired를 통한 의존관계 자동 주입 받기
·
BackEnd/Spring
Spring에서 Bean을 등록할 때의 기본 흐름은 다음과 같습니다.Spring Container에 Spring Bean 객체를 생성의존관계를 주입(DI) 수행이전에는 설정 정보(Config) 클래스에서 @Bean을 통해의존관계를 직접 명시하여 주입하는 방식이 주로 사용되었습니다. 하지만, @Autowired를 사용하면설정 정보에 의존관계를 일일이 명시하지 않아도Spring이 자동으로 의존관계를 주입해 주기 때문에훨씬 편리하게 개발할 수 있습니다. 이번 글에서는 @Autowired를 통한 의존관계 자동 주입 방에 대해서 공부한 내용을 정리해보겠습니다. · @Autowired- @Autowired일단 @Autowired 애노테이션에 대해서 먼저 알아보겠습니다. @Autowired는 Spring Cont..
[Spring] Lombok 라이브러리 파해치기
·
BackEnd/Spring
오늘은 Spring 및 Spring Boot를 통해 애플리케이션 개발을 할 때정말 정말 개발을 편하게 만들어주는 라이브러리인 Lombok에 대해서공부한 내용을 정리해 보겠습니다. · Lombok- Lombok이란?Lombok은 생성자를 자동으로 생성해 주거나,Getter / Setter를 자동으로 생성해 주는 등반복적으로 작성해야 하는 보일러플레이트 코드를 제거해 주는 라이브러리입니다. 이를 통해코드 길이를 줄일 수 있습니다.가독성이 좋아집니다.핵심 비즈니스 로직에 더 집중할 수 있습니다. Lombok이 가지고 있는 편리한 기능들 중실무에서 가장 많이 사용되는 애노테이션들을 역할과 특징별로 정리해 보겠습니다.- @Getter / @Setter역할필드에 대한 Getter / Setter를 자동으로 생성해..