여러 가지의 프로젝트 진행하게 되면 라이브러리를 계속해서 추가 및 삭제를 따로 해주어야 한다.
이 과정을 해결해 주는것이 Maven
이 부분에 대한 설명은 익숙하기 떄문에 skip 하겟다.
하지만 @Builder가 있다면
바로 위 그림은 오버로딩한 메서드가 없을떄 만들었지만 오류가 발생하지 않았다.
데이터 포멧에 대한 약속을 적어 놓는 곳이다.
다른 상대와 데이터를 주고 받게 된다면 자신이 정해놓은 규칙이 아니라 공용적으로 사용되는 규칙대로 데이터를 작성해야 하기 떄문에
yaml이라는 곳에 따로 포멧에 대해서 규칙을 맞춰서 작성을 하게 된다.
xml -> json -> yaml 순으로 규칙이 발전해 왔고 이 순서대로 가독성이 향상되어 왔다.
모두 같은 내용의 코딩으로 한눈에 봐도 가독성이 향상되어 왔다는것을 알수가 있다.
Yaml에서 중요한 점은 key와 value 사이에 공백을 하나 주어야 하며 중가론는 공백을 두칸으로 한다.
example :
key1: value1
출처 : https://www.inflearn.com/questions/16184
내 포트에 대한 진입점(path)와 서버이름 및 인코딩 형식이다.
만약 따로 추가해주지 않으면
localhost:8080/와 같다.
이처럼 따로 추가를 하게 된다면
localhost:8000/blog와 같다.
만약 따로 설정을 하지 않는다면
src/main/resources/static로 파일을 찾게된다
@Controller를 사용했다는 조건하에
static폴더 내에는 정적 파일(브라우저가 인식할수 있는 파일)만 놓아야 한다.
따로 xml에 설정을 해주지 않는이상 jsp파일(동적인 파일)은 읽어올수가 없다.
설정법은 Jsp 템플릿 엔진을 검색해보도록 하자.
위와 같이 설정을 하였다면
여기에서 중요한 점은 prefix, 와 suffix이다.
prefix는 시작이라고 보면되며 suffix는 끝나는 곳이라고 보면 된다.
이렇게 자동으로 경로를 지정해 준다.(일부러 에러를 발생시켰다)
경로는
src/main/webapp/WEB-INF/views이다.
경로를 보면 마지막에 views에 /가 추가 되어있지만 나의 Controller return 값에도 /로 시작하고 있다.
이렇게 된다면 경로가
Spring 에서 이정도는 자동으로 처리를 해주기 떄문에 문제가 없다.
skip 하겠다.
기존에 user라는 테이블이 있어도 프로젝트를 실행할떄마다 새로 만들겠다.
jpa가 사용하는 기본 넘버링 전략을 따라가지 않겠다.
콘솔창에 table의 로그를 보여줌
뜨는 로그를 한줄이 아닌 보기좋게 바꾸어 준다.
Entity를 만들떄 변수명 그대로 DB에 사용하겠다.
저것을 사용하지 않는다면 MyEmail이라는 변수를
my_email로 바꾸어서 만들어 준다.
링크 : https://getinthere.tistory.com/20
==> 이렇게 까지 설정을 하였다면
이처럼 DB가 형성 되어 있다.
====================================================================
Jpa의 테이블의 코드는 다음 게시글에서 다뤄보도록 하겠다.