
어쩌다 보니 JPA 위주의 스터디가 되고 있지만
2년 전에 JPA만 해도 신기술 같은 느낌이라
굳이 내가 이거까지 해야 하나 했는데,, (프론트만 할 생각이었다..)
이젠 필수인 거 같다 ^^;
무튼 코딩도 스타일과 변화가 있으니 나도 알아야겠다..
오늘도 가보자고

1. DB 접속 설정하기(H2)
application.properties를 이용하여 db연결을 해주자!
프로젝트 생성할 때 나는 dependencies에 H2 database를 추가하였다.
spring.h2.console.enable=true라는 속성을 추가하여 db 접속을 설정하였다.
간단하게 DB까지 연동해서 스터디할 때는 H2가 확실히 편한 거 같다.
DB 확인할 때는 :8080/h2-console url로 확인가능하다.
connect시 오류가 뜨면 jdbc url은 콘손창에 있는 url를 copy 해서 붙여 넣으면 된다.
2. Lombok
.gradle > dependencies에 롬복을 추가하고
plugins>marketplace에 lombok을 설치해 주자.
설치 후 dto에 적었던 생성자와 toString()을 지우고
@AllArgsConstructor, @ToString 어노테이션을 추가하자.
그리고 또 하나의 롬복의 기능은 로깅!
System.out.println() 대신 로깅을 이용하는 이유를 처음 알았다.
sysout을 이용하면 서버 성능에 안 좋은 영향을 끼친다고 한다..
@Slf4j를 추가하여 log.info()를 사용할 것
나는 롬복을 안 좋아했다..
예전 인턴기간동안 했던 프로젝트를 하면서 사용했었는데
롬복을 깔지 않은 사람들과 소스를 공유하면 오류가 나서 추가해야 하고 그런 게 번거롭기도 하고
뭔가 한 땀 한 땀 어노테이션을 달아주는 게 정성스럽고 내 코드라고 생각했었다.
근데 막상 실무를 해보니 내 코드란 없다...
빨리 끝내고 다음 일하기 바쁘다.
롬복이 필요하긴 하다..
@Getter / @Setter / @NoArgConstructor(파라미터가 없는 생성자를 생성) / @AllArgConstructor(모든 필드값을 파라미터로 갖는 생성자 생성) / @Data / @ToString 등
주로 데이터클래스에서 사용하는 메소드등을 어노테이션으로 변경가능하다.
여기서 @Data 어노테이션을 추가하면 모든 기능들을 한 번에 다 추가해 준다.
3. Swagger
스웨거란 API의 스펙을 전달할 때 용이한 문서 자동화 라이브러리이다.
pom.xml 등 설정파일에 dependecy를 추가해 주면 된다.
이전 회사에서는 화면단위의 역할 부담을 했어서
프론트와 백앤드 구별 없이 온전한 기능은 혼자 만들기 때문에 사실 API 공유는 필요가 없었다.
풀스택개발이 내 전문성을 떨어트린 건가 싶기도 하고,,
아무튼 @RestController 같은 어노테이션을 이용하면 자동으로 api를 구별해 준다니 참 기똥차다..
보통 config라는 클래스를 만들어주어 관리를 해주고
@Congifuration, @Bean 등의 어노테이션을 통해 관리가 가능하다.
개발 시 localhost:port번호/swagger-ui.html 로 접속 가능하다.
swagger 쓰다보니 이제 postman은 안쓸거같긴하다.
일차적으로 화면의 input을 DB까지 갔다가 오는 한 번의 루틴?이 끝났다.
추가 기능 또한 정리해 두었으니 나중에 보기 편하겠지..
오늘은 여기까지..
'Backend > SpringBoot' 카테고리의 다른 글
| 스프링부트 입문 5. 서비스 구조 (0) | 2024.03.02 |
|---|---|
| 스프링부트 입문 4. controller의 어노테이션 (0) | 2024.03.01 |
| 스프링부트 입문 2. MVC흐름읽기(with jpa) (0) | 2024.02.28 |
| 스프링부트 입문 1. 세팅부터 시작하기 (1) | 2024.02.27 |
| 스프링부트 입문 (0) | 2024.02.26 |