[SpringBoot] 스프링 트랜젝션(@Transactional) 사용

spring transaction

스프링에서의 트랜잭션 스프링에서는 트랜젝션을 적용하려면 어떻게 해야할까?스프링에서는 간편하게 트랜젝션을 적용할수 있다. 바로 @Transactional 어노테이션을 사용하면된다.트랜젝션이 적용을 하고 싶은 서비스의 class 나 method에 @Transactional 을 붙여준다면 알아서 트랜젝션이 적용된다. 소스 구성 먼저 Mybatis 를 사용한 예시를 보여드리겠습니다. TestController -> TestService -> TestMapper 구조입니다. 먼저 Controller 입니다. Serivce 이구요. Mapper 입니다. 생성한 Test Table 입니다. 정말 단순한 … Read more

[SpringBoot] 공통 Response 대충 만들기

spring reponse

오늘의 찍먹 공통화 하고 싶은 이유 API 를 만들다보면 리턴 DTO 타입에 따라 Response 구조가 잡히다보니조금은 규칙적으로 공통화? 템플릿화?를 하고 싶어진다.그래서 공통 Response 에 대한 내용을 검색들을 해보면 공통으로 사용될 DTO의 타입으로만 Return을 하던가 ResponseEntity를 주로 사용하기도 한다. Return 타입을 ResponseEntity로 해서 만들기도 하는걸 많이 봤다. 이처럼 컨트롤러에 있는 모든 메소드의 Return 타입이 다 같게해야 … Read more

SpringBoot JPA로 대충 CRUD 해보기

jpa로 대충 crud

오늘의 찍먹 JPA 대충 개념 예전에는 (지금도 많이 쓰고 있지만) DB 따로 만들고 소스 따로 만들고 하다보니서로 싱크가 안맞는 경우가 생기면 에러를 찾아내기 쉽지 않았다.무슨 말이냐면 테이블의 구조가 수정됐을때 개발자가 직접 해당 쿼리들을 일일히 찾아서수정을 해야하는데 실수를 할 확률이 높았다.예를 들어 가장 많이 사용되는 mybatis의 경우 해당 쿼리를 돌려보기 전까지는에러가 나는지 아닌지 모르기 때문에 확인도 … Read more

SpringBoot MariaDB 연결하기

mariadb

오늘의 찍먹 MariaDB 연결 자 이제는 DB 연결을 해보겠습니다.이전 저는 제 서버에 MariaDB 를 만들어서 사용하기 때문에MariaDB 를 연결해보겠습니다. 먼저 build.gradle 에 의존성을 추가합니다. 두 의존성을 추가해주고 서버를 실행해보겠습니다. 에러가 나면서 서버가 실행이 되질 않습니다.DB 의존성을 추가 후에는 DB 정보가 있어야 하는데 없기 때문에 발생하는 에러입니다.DB 설정을 추가 해줍시다. application.yml 에 DB 정보를 추가해줍니다. 설정 … Read more

Rest API 대충 알아보자

restapi

오늘의 찍먹 Http 요청들 보기 HTTP 요청에는 Get / Post / Put / Patch / Delete 가 있습니다. 요청 액션 Get 조회 Post 등록 Put 수정(전체) Patch 수정(부분) Delete 삭제 실무에서는 모든 걸 사용하지 않습니다.골고루 쓰는 곳도 있지만 Get / Post 만 쓰는 곳도 있습니다.그렇다면 Get(조회), Post(등록,수정,삭제) 를 하는 것 이겠죠.저 또한 Get/Post/Put/Delete 만 사용 … Read more

SpringBoot 프로젝트 생성하기

스프링부트

목표 프로젝트 생성 기본적으로 나는 인텔리제이(IntelliJ) 툴을 사용할 것이다.시작하기전에 자바가 설치 되어있어야한다. 인텔리제이에서 New Project 를 하여 Spring Initializr 를 선택하여준다. 원하는 프로젝트 이름을 입력해준다.인텔리제이 최신버전에서는 Spring 3 이상으로만 생성이 된다.근데 Spring 3 이상 버전에서는 자바 17부터 가능하다.그래서 나는 자바 17 로 할 것이다.자바 17 이여도 17에 뭐가 새로생겼는지 어쨋는지 모른다. 나는 어쩔수 없이 17로 … Read more