blog - 2

Lumi·2021년 8월 16일
0

project

목록 보기
5/16
post-thumbnail

Maven

여러 가지의 프로젝트 진행하게 되면 라이브러리를 계속해서 추가 및 삭제를 따로 해주어야 한다.

이 과정을 해결해 주는것이 Maven

  • 각각의 다양한 사이트들의 라이브러리 들을 한곳에 모아둔 후에 pom.xml = Maven을 통해서 다운받게 된다.
    --> 필요한 라이브러리들을 pom.xml에 기술 하기만 하면 된다.

Lombok

이 부분에 대한 설명은 익숙하기 떄문에 skip 하겟다.

@Builder

  • 생성자를 생성하는 또다른 방법이다.
    -> 변수 입력 순서를 지키지 않아도 되며 따로 오버로딩을 할 필요가 없다.
  • 간단한 사용법이다.
  • 만약 이 코드에서 id값을 자동으로 증가하는 값으로 만들고 싶어서 생성자를 통해서 받기 싫다면
  • 이처럼 따로 생성자를 오버로딩 해주어야 한다.
    (@Builder가 없다는 가정하에)

하지만 @Builder가 있다면

  • 이와 같이 따로 오버로딩 하지 않아도 id 값을 제외하고 생성자를 만들수 있다.

바로 위 그림은 오버로딩한 메서드가 없을떄 만들었지만 오류가 발생하지 않았다.

yaml

데이터 포멧에 대한 약속을 적어 놓는 곳이다.

다른 상대와 데이터를 주고 받게 된다면 자신이 정해놓은 규칙이 아니라 공용적으로 사용되는 규칙대로 데이터를 작성해야 하기 떄문에

yaml이라는 곳에 따로 포멧에 대해서 규칙을 맞춰서 작성을 하게 된다.

xml -> json -> yaml 순으로 규칙이 발전해 왔고 이 순서대로 가독성이 향상되어 왔다.


모두 같은 내용의 코딩으로 한눈에 봐도 가독성이 향상되어 왔다는것을 알수가 있다.

Yaml에서 중요한 점은 key와 value 사이에 공백을 하나 주어야 하며 중가론는 공백을 두칸으로 한다.
example :

key1: value1

출처 : https://www.inflearn.com/questions/16184

project.yml 설정

  • 프로젝트에 설정된 yml 이다.

server


내 포트에 대한 진입점(path)와 서버이름 및 인코딩 형식이다.

만약 따로 추가해주지 않으면
localhost:8080/와 같다.

이처럼 따로 추가를 하게 된다면
localhost:8000/blog와 같다.

spring

  • 파일을 읽는 경로를 설정한 것이다.


만약 따로 설정을 하지 않는다면
src/main/resources/static로 파일을 찾게된다
@Controller를 사용했다는 조건하에

static폴더 내에는 정적 파일(브라우저가 인식할수 있는 파일)만 놓아야 한다.

따로 xml에 설정을 해주지 않는이상 jsp파일(동적인 파일)은 읽어올수가 없다.
설정법은 Jsp 템플릿 엔진을 검색해보도록 하자.

위와 같이 설정을 하였다면

  • 이와 같이 설정해주면 된다.
    jsp 파일 이름은 test.jsp이다.

여기에서 중요한 점은 prefix, 와 suffix이다.

prefix는 시작이라고 보면되며 suffix는 끝나는 곳이라고 보면 된다.

이렇게 자동으로 경로를 지정해 준다.(일부러 에러를 발생시켰다)

경로는
src/main/webapp/WEB-INF/views이다.

경로를 보면 마지막에 views에 /가 추가 되어있지만 나의 Controller return 값에도 /로 시작하고 있다.

이렇게 된다면 경로가

  • /WEB-INF/views//test.jsp가 되어버리지만

Spring 에서 이정도는 자동으로 처리를 해주기 떄문에 문제가 없다.

datasource

skip 하겠다.

jpa

  • ddl-auto: create

기존에 user라는 테이블이 있어도 프로젝트를 실행할떄마다 새로 만들겠다.

  • use-new-id-generator-mappings: false

jpa가 사용하는 기본 넘버링 전략을 따라가지 않겠다.

  • show-sql: true

콘솔창에 table의 로그를 보여줌

  • hibernate.format_sql: true

뜨는 로그를 한줄이 아닌 보기좋게 바꾸어 준다.

  • physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

Entity를 만들떄 변수명 그대로 DB에 사용하겠다.

저것을 사용하지 않는다면 MyEmail이라는 변수를
my_email로 바꾸어서 만들어 준다.

링크 : https://getinthere.tistory.com/20

  • (3), (8)번은 아직 이해하기 어려우니 이것을 제외하고 추가적인 내용을 학습해 볼것!

==> 이렇게 까지 설정을 하였다면

이처럼 DB가 형성 되어 있다.

====================================================================
Jpa의 테이블의 코드는 다음 게시글에서 다뤄보도록 하겠다.

profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글