[IT국비지원] 개발자 교육 : Spring Boot(2023.11.23) Transaction/error/Restful Service

Nicole Gold·2023년 11월 23일
0

K-digital training

목록 보기
54/60

  • DTO 로 parameter 받기

Transaction

  • @Transactional 을 사용하면 특정 클래스나 메서드, 인터페이스 에서 commit, rollback 등을 수행한다.
  • 이것을 우리는 선언적 Transaction 이라고 부른다
  • Spring 에서는 관련 라이브러리들을 추가하고 설정도 해야 하지만 boot 에서는 기본으로 제공한다.

Connection-Pool 설정 옵션 (Spring Boot 2.0 이상 부터는 기본으로 H ikari pool 지원 )

//pool 에 보관할 최대 커넥션 개수 : 기본 10개
// 10개가 모두 소진되면 기다려야 한다.(connection-timeout 을 넘기면 접속이 끊어진다.)
// 크게 잡으면 많이 수용할 수 있지만 메모리를 많이 먹고 서버 start 시 시간이 오래 걸릴 수 있다.
spring.datasource.hikari.maximum-pool-size=10

// pool 에 커넥션을 요청하고 기다릴 수 있는 시간(30초)
// 이 시간이 넘어가면 Exception 발생하고 접속이 끊어진다.
spring.datasource.hikari.connection-timeout=30000

// 놀고 있는 커넥션을 폐기하기까지 기다리는 시간(10분)
spring.datasource.hikari.idle-timeout=600000

// 커넥션 최대 유지시간(30분)
// 바로 폐기하지 안혹, 해당 작업이 종료되면 폐기
spring.datasource.hikari.max-lifetime=1800000

Restful Service

개념

  • Representational State Transfer
  • 클라이언트와 서버 요소를 엄격하게 구분함
  • 하나의 서버로 다양한 플랫폼의 클라이언트 대응 가능
  • url 형태로 요청을 명료화할 수 있음
  • detail?lecture java&idx =15 VS detail/java/15
  • 상황이나 요청 데이터에 따라 요청 방식을 선택하면 된다.

JSON

  • Restful 서비스의 반환 값은 일반적으로 XML 과 JSON 을 활용한다.

  • 그중 JSON 이 가장 대중적이다.

  • url 요청 내용에 JSON 으로 응답하는 서비스를 만들어 보자.

  • 이번에는 Jackson 이라는 라이브러리를 활용 하여 JSON 응답 값을 만들어 보자.

  • string 을 json 으로 변환해 주는 라이브러리

  • GET : 특정 데이터를 조회할 때
  • POST : 특정 데이터를 입력할 때
  • DELETE : 특정 데이터를 삭제할 때
  • PUT : 특정 데이터를 수정할 때
  • PATCH : 특정 데이터의 일부를 수정할 때



profile
JAVA 개발자로 가는 길

0개의 댓글

관련 채용 정보