Spring

    [Spring] 서비스는 트랜잭션, 도메인의 순서 보장 역할만 제공한다

    [Spring] 서비스는 트랜잭션, 도메인의 순서 보장 역할만 제공한다

    서론 스프링에서는 @Controller, @Service, @Repository 등의 애노테이션을 사용하여 웹 계층을 분리하고 있다. 이 중 @Service는 사실상 @Component와 기능 차이가 없지만, 스프링에게 해당 클래스가 서비스 레이어 클래스라는 것을 알리는 역할을 한다고 한다. 그렇다면 Service Layer는 무슨 역할을 하는 걸까. 3 tier 아키텍처 보통 스프링 프로젝트는 3 tier 방식으로 구성한다. 프레젠테이션 계층 화면에 보여주는 기술을 사용하는 영역. 컨트롤러에서 사용자의 요청에 맞는 응답처리를 진행하며, HTML엔진(thymeleaf), HTML등이 담당하는 영역. Spring MVC 객체로, 컨트롤러, DispatcherServlet, 컨트롤러, 뷰, 모델이 포함된다...

    [Spring] Async

    참조 : https://www.baeldung.com/spring-async 1. 개요 Spring에서 제공하는 비동기 작업과 애노테이션 @Async에 대해서 알아본다. @Async를 Bean의 메서드에 선언하는 것만으로 해당 메서드는 별도의 쓰레드에서 수행된다. 즉, @Async가 선언된 메서드를 호출하는 객체는 메서드가 끝날 때까지 기다리지 않는다. 2. Async 옵션 켜기 @Configuration과 @EnableAsync를 사용하여 Async 옵션을 켤 수 있다. @Configuration @EnableAsync public class SpringAsyncConfig { // ... } @EnableAsync의 속성 부여를 통해 다양한 설정이 가능하다. annotation : @EnableAsy..

    [Spring] 트랜잭션

    참조 : https://www.baeldung.com/transaction-configuration-with-jpa-and-spring 1. 개요 본 문서는 Spring 트랜잭션을 사용하는 방법을 소개합니다. JPA 및 영속성 전략에 대해 더욱 더 깊이 있는 내용을 원하면, 이 문서를 참조하세요. 일반적으로, 트랜잭션을 구성하기 위한 두가지 방법으로 애노테이션 방식과 AOP 방식이 존재합니다. 각자의 장단점이 있기 때문에, 아래 문서를 참조하여 더 적절한 방식을 선택하면 되겠습니다. 2. 트랜잭션 구성하기 Spring 3.1 에서는 @Configuration 클래스에서 사용할 수 있는 애노테이션 @EnableTransactionManagement을 제공하고, 이를 사용하면 트랜잭션 기능을 활성화할 수 있..

    [Spring] 왜 Spring 인가

    1. Spring 이란? Spring은 Java Programming을 더 빠르고, 쉽고, 안전하게 해준다. Spring은 속도, 단순성, 생산성 등에 중점을 둔 자바 프레임워크다. (https://spring.io/why-spring) Java의 가장 큰 특징은, 객체 지향 언어라는 것이다. Spring은 객체 지향적으로 애플리케이션을 개발할 수 있게 도와주는 프레임워크다. 2. Spring Ecosystem 2.1. 스프링 프레임워크 핵심 기술 : 스프링 DI 컨테이너, AOP, 이벤트, ... 웹 기술 : 스프링 MVC, WebFlux, ... 데이터 접근 기술 : 트랜잭션, JDBC, ORM, XML 기술 통합 : 캐시, 이메일, 원격접근, 스케쥴링 테스트 언어 : 자바, 코틀린, 그루비 2.2...

    [Spring Batch] Tasklet & Chunk 예시

    1. 소개 Spring Batch는 tasklet 방식과 chunk 방식을 제공한다. 2. Dependencies spring-batch-core와 spring-batch-test 의존성이 필요하다. maven org.springframework.batch spring-batch-core 4.3.0 org.springframework.batch spring-batch-test 4.3.0 test com.opencsv opencsv 4.1 3. 요구사항 아래와 같이 이름과 생년월일이 작성된 CSV 파일을 Mae Hodges,10/22/1972 Gary Potter,02/22/1953 Betty Wise,02/17/1968 Wayne Rose,04/06/1977 Adam Caldwell,09/27/1995 ..