스프링부트 개발환경구축(maven)

박일한·2021년 11월 26일
0

인텔리제이설치나 이런부분은 패스

개발환경

개발툴 : 인텔리제이
빌드툴 : maven
언어 : java11
스프링부트버전 : 2.5.7 - 버전은 항상바뀜..업데이트가 자주됨
패키징 : jar
의존성 spring web

애플리케이션 실행하기

  1. 여기서도 마찬가지로 spring initializr를 사용하여 프로젝트를 구성한다.
    접속사이트 : https://start.spring.io/

    거의 프로젝트에서 기본적으로 사용되는 부분이다.
    스프링부트 aws서비스도 유사하게 진행하였다.
  2. generate를 실행한다.
  3. 압축된 파일을 인텔리제이에서 실행한다.
  4. git이나 svn을 설정한다. 현재 나는 git 위주로 작업을 하고있다.

빌드도구

메이븐 : 자바프로젝트의 빌드를 자동화 해주는 빌드 툴
라이브러리는 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

스프링부트에서는 application.properties or application.yml을 이용하여
프로젝트를 구성한다.
그리고 개발환경, 테스트환경, 운영환경이 나뉠경우
application-{profile}.properties -> 여기서 profile은 입력할 내용
ex) application-dev.properties
로 만들어서 별도로 운영하게만든다.
실행되는 환경에 따라서 어떤 jar파일을 사용할지 vm옵션등을 통하여 설정할수있다.

보통 기본적으로는 8080포트를 사용한다.
80포트를 사용하면 뒤에 포트를 붙히지 않고 사용가능하다.
나는 아직 yml보다는 properties에 익숙하다.

hello world 출력하기



책과는 다르게 별도의 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으로 바로 넘어왔는데 편리한기능이 많았다.

lombok 추가설정

1.file -> settings -> annotation 검색 -> build, execution, deployment 1탭에 annotation processors를 선택한다.
2. enable annotation processing을 체크한다.

간단한 lombok 적용 테스트

  1. dto 패키지 설정
  2. @getter, @setter 적용하여 userDto클래스 생성
  3. testController생성
  4. 출력

    현재에는 setter를 거의 사용하지않고 생성자를 사용하여 저장한다.
    final을 붙히는 이유는 불변객체를 만들기 위해서 사용한다.

    생성자를 사용하고 반환하면 해당 데이터는 불변을 지키고 데이터를 보장할수있다.

MySQL 설치하기

  1. mysql 다운로드
  1. mysql 설치
  • 해당 다운로드 받은 설치파일을 실행
  • setup type은 developer default로 선택
  • next로 계속 진행 -> execute -> next 진행
  • mysql 포트 지정 : 기본 포트는 3306(마리아db와 동일)
  • use string password encryption for authentication 선택 후 진행
  • 패스워드 설정 및 next 진행
  • 계속 next 진행
  • connect to server가 나타나면 root의 아까 지정한 패스워드 입력 후 진행한다.
  • 마지막페이지에서는 start mysql workbench after setup을 선택 후 마무리한다.
  • mysql workbench 툴이 실행된다.

MySQL workbench 실행하기


  1. 좌측 하단의 local instatnce를 클릭하면 우측의 패스워드입력란이 나온다.
  2. 패스워드를 입력후 OK를 클릭한다.
  3. character set을 utf-8로 변경한다.
    create database shop default character set utf8 collate utf8_general_ci;
  4. show databases 를 통하여 생성을 확인한다.

이번 챕터의 나의 생각

mysql은 내가 공부할때 약간 사용하고 그때에도 oracle 무료버전을 사용했던것 같다.
mysql오랜만에 써보니까 낯설다.. maven도 최근 6개월정도 사용을 안하니까 점점 낯설어 지려고한다.
이렇게 작성하면서 기억이 잘 안나면 참고하기 딱 좋은 책들인것 같다.
사람의 뇌가.. 모든걸 기억하기가 힘드니.... 이다음 챕터는 spring data jpa를
다시 리뷰하자.

profile
긍정적인 삶을 갖자~~

0개의 댓글