오늘은 리액트와의 연동할 스프링부트 간단하게 서버를 RestController, JPA, H2, Junit 사용하여 하나 만들어보자.
spring starter project 생성하고 체크는 이렇게 해주자.
RestController 하나 만들어주고 ResponseEntity에 ok라는 문자열을 넣어 반환해보았다.
화면에 ok가 출력되고 컨트롤+f12로 네트워크쪽을 보면 상태코드가 200뜬 것을 볼 수 있다.
이제 url 끝부분에 /h2-console을 입력하면 다음과 같은 화면을 이동한다.
그리고 sts툴 콘솔에 있는 jdbc url을 복사하여 붙여 넣는다.
다음 db를 고정시키기 위해 yml 파일 설정을 해보자.
server:
servlet:
encoding:
charset: utf-8
enabled: true
spring:
datasource:
url: jdbc:h2:mem:DB명
driver-class-name: org.h2.Driver
username: 유저명
password: 패스워드
jpa:
hibernate:
ddl-auto: create
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
yml파일 설정에 이렇게 해주고 다시 h2-console에서 로그인해보자.
다음 Book 모델을 만들었다
@Id는 Pk를 해당변수 로 하겠다는 뜻이고 @GeneratedValue(strategy = GenerationType.IDENTITY)
이 어노테이션은 번호 증가 전략을 해당 db에 따르겠다는 뜻이다.(예를들면 oracle의 sequence같은거)
그리고 위에 @Entity를 붙이면 서버 실행시 Object Relation Mapping이 된다.
그리고 인터페이스로 BookRepository를 만들어준다. 원랜 저 위에 @Repository를 붙여야 스프링 bean에 등록이 되는데 JpaRepository를 extends하면 생략가능하다. 그리고 이건 기본적으로 CRUD 함수를 들고 있다.
그리고 마지막으로 service를 만들어준다. 서비스에도 IoC 빈에 등록시키기 위해 @Service라는 어노를 붙여야한다. 이렇게 함으로써 여기서 기능을 정의하고 트랜잭션을 관리할 수 있게 된다.
이 글은 여기까지
이 글은 유튜브 메타코딩 채널의 영상을 보며 공부한 내용을 기록한 게시글입니다.