인텔리제이설치나 이런부분은 패스
개발툴 : 인텔리제이
빌드툴 : maven
언어 : java11
스프링부트버전 : 2.5.7 - 버전은 항상바뀜..업데이트가 자주됨
패키징 : jar
의존성 spring web
메이븐 : 자바프로젝트의 빌드를 자동화 해주는 빌드 툴
라이브러리는 pom.xml에서 관리된다.
이클립스에 spring을 사용하는경우 해당 구문은 다 타이핑해야 했었다.
이런게 스프링부트와 인텔리제이의 장점이 아닐까 싶다.
maven의 라이브러리 저장소(repository)는 기본적으로
c:\user\xxx.m2\repository가 기본으로 잡혀져있고
보통은 특정 경로를 지정해서 관리하는 경우가 많다.
c:\project\maven\repository 식으로 관리를 했었다.
여기서 settings는 해당 repository위치를 저정할수있다.
< ?xml version="1.0"?>
< settings>
< localRepository>C:\project\maven\repository< /localRepository>
메이븐 로컬 저장소 위치 지정
< interactiveMode> true < /interactiveMode>
기본값은 true이고 유저와입력에 maven 상호작용을 한다.
< offline>false< /offline>
기본값은 false이고 리모터 저장소를 사용안한다.
< /settings>
이정도로 설정을 했었다.
책에서도 권장사항은 프로젝트별 localrepository를 권장한다.
스프링부트에서는 application.properties or application.yml을 이용하여
프로젝트를 구성한다.
그리고 개발환경, 테스트환경, 운영환경이 나뉠경우
application-{profile}.properties -> 여기서 profile은 입력할 내용
ex) application-dev.properties
로 만들어서 별도로 운영하게만든다.
실행되는 환경에 따라서 어떤 jar파일을 사용할지 vm옵션등을 통하여 설정할수있다.
보통 기본적으로는 8080포트를 사용한다.
80포트를 사용하면 뒤에 포트를 붙히지 않고 사용가능하다.
나는 아직 yml보다는 properties에 익숙하다.
책과는 다르게 별도의 controller 패키지를 분리해서 진행하였다.
실무에서도 dao, service, repository, controller, model, dao, domain등
별도의 패키지별로 관리하기때문에 이런 기본적인 습관은 중요하다.
restController : 스프링4.0에서 도입하였고 controller+responsebody를 가진 어노테이션이다.
responsebody : 자바객체를 http 응답 본문의 객체로 변환해 클라이언트에서 전송을 한다. 이를통해 html파일을 만들지 않아도 웹 브라우저에 출력이 가능하다.
나도 실무를 했을때 바로 스프링4.0을 이용하여 restcontroller를 사용했었다.
기존에 2.3~2.4를 쓰다가 4.0으로 바로 넘어왔는데 편리한기능이 많았다.
1.file -> settings -> annotation 검색 -> build, execution, deployment 1탭에 annotation processors를 선택한다.
2. enable annotation processing을 체크한다.
mysql은 내가 공부할때 약간 사용하고 그때에도 oracle 무료버전을 사용했던것 같다.
mysql오랜만에 써보니까 낯설다.. maven도 최근 6개월정도 사용을 안하니까 점점 낯설어 지려고한다.
이렇게 작성하면서 기억이 잘 안나면 참고하기 딱 좋은 책들인것 같다.
사람의 뇌가.. 모든걸 기억하기가 힘드니.... 이다음 챕터는 spring data jpa를
다시 리뷰하자.