본문으로 바로가기

[Spring Boot] 시작하기

category Frame Work/Spring Boot 2021. 6. 20. 20:18
728x90
반응형

목차

    개요

    Django나 Flask를 사용하다 보면 레이어드 아키텍처를 적용해서 개발을 진행한다. Django의 MVT라는 패턴으로 사용하고 Flask는 구성하기 나름이다. 그런데 레이어드 아키텍처를 사용하다 보면 하나씩 부족한데 라는 생각이 들기 시작한다.

     

    계층 간 데이터 교환이나 특정 로직이 어디에 위치해야 하는지 그리고 레이어 수준을 어느 정도로 가져갈지에 대한 고민들이다. 이에 관련돼 무엇을 공부하면 될까라는 고민을 가지고 있었는데 문득 이름만 들어본 Spring이 생각났다. 

     

    Spring/SpringBoot를 공부하면 백엔드 아키텍처를 구축하는데 조금 더 넓은 시야를 볼 수 있지 않을까 싶다.

     

    Spring Boot 생성하기

    최대한 공부하는데 비용을 아끼기 위해 Intelli j Community 버전으로 시작해보자. Spring Boot를 사용하려고 검색하고 보니 Intelli-j Community버전은 Spring Boot Project를 편하게 생성할 수 있는 기능인  Spring Initializer를 지원하지 않는다고 한다.

     

    따라서 Intelli-j에서 Spring Boot 프로젝트를 생성할 때는 아래 사이트에서 Spring Boot Project를 Export 해서 사용하자.

     

    https://start.spring.io/

     

     

    Eclipse vs Intelli-j

    java 기반 개발이라고 하면 아주 유명한 IDE인 이클립스가 존재하는데 Intelli j를 선택한 것은 JetBrains에서 나온 IDE의 인터페이스에 익숙했기 때문이다.

     

    두 IDE의 차이점을 비교해보면 좋을 것 같은데 Spring Boot 공부가 주목적이니 나중에 한 번 정리해보기로 하자.

     

    Spring Boot Project 필요 라이브러리

    https://start.spring.io/  에서 SpringBoot Project를 만들기 전에 dependency 부분에 다음 3가지를 추가해주자.

    • Lombook
    • Spring Web
    • Spring Configure Processor

     

    Intelli J에서 일어난 문제

    M1 Mac Mini, Monterey 12.5.1에서 OpenJDK 1.8 버전을 설치하고 나서 Intelli J를 사용할 때 일어날 수 있는 상황에 대한 정리와 해결방법이다. 문제가 일어난 상황의 원인은 그때그때 다를 수 있다.

     

    Project 버전과 Intelli j에서 설정된 버전이 맞지 않는 경우 

    SpringBoot 셋업을 https://start.spring.io/ 에서 다운로드하여 사용한다. 이 상황은 책의 예제를 따라 하다가 일어난 상황인데 책에서는 SpringBoot 2.5.6과 Java 11을 선택해서 SpringBoot를 생성하라고 했으나 필자는 SpringBoot 2.7.6과 Java는 OpenJDK 1.8을 설치한 뒤 SpringBoot를 Intelli j에서 실행한 경우 맞닥뜨렸다.

     

    위 상황은 Intelli J에서 다음과 같은 순으로 해결할 수 있었다.

    Preference > Build, Execution, Deployment > Compiler > Java Compiler

    위 경로에 접근하면 다음과 같은 인터페이스 보인다 

    위 이미지에서는 Target bytecode version이 11로 되어있었으나 18로 고치자 해결되었다.

     

    Intelli j 코드상에서 작성자 나오는 부분 off 해두기

    Intelli j(22.12.04)를 처음 설치하고 나서 특정 코드를 작성하면 해당 코드를 작성한 정보를 알려주는 표시가 뜬다.

    익숙한 방식은 아니라 어노테이션 위에 존재하는 정보를 지우고 싶을 때 다음과 같이 설정한다.

    Preferences > Editor > Inlay Hints

    위 경로로 들어가면 다음과 같이 code vision에 옵션이 전부 체크되어있는데 

    각 항목에서 보기 싫은 것은 체크 해제해주면 된다.

    728x90
    반응형