IT/development

[springBoot] 프로젝트 세팅(IntelliJ 사용)

알 수 없는 사용자 2022. 11. 28. 06:12
반응형

목차

    springBoot 프로젝트 세팅(IntelliJ 사용)

    https://start.spring.io 접속 후 프로젝트 세팅 후 다운로드(IntelliJ에서 spring initializr해도 같은 결과)

    1. 프로젝트 빌드도구 선택 -> 요즘 Gradle로 넘어가는 추세라고 함
    2. 개발언어 선택
    3. 스프링부트 버전 선택 -> SNAPSHOT은 만들고 있는거고 M1은 정식 릴리즈된 버전이 아니라서 정식 릴리즈 버전 중 선택
    4. 프로젝트 메타 정보 설정 -> group은 보통 기업 도메인을 적는데 개인 공부니 아무렇게나 적어도 됨, Artfifact는 빌드되어 나온 결과물이라고 보면 됨
    5. 스프링부트 프로젝트 개발시 가져올 라이브러리, 화면 렌더링 시 필요한 템플릿 엔진 선택(ex Thymeleaf, 회사는 다양함)
    6. GENERATE를 눌러서 프로젝트 다운로드
      위처럼 해도 되고 intellij IDE에서 spring innitialier에서 추가해도 됨

    위처럼 해도 되고 intellij IDE에서 spring innitialier에서 추가해도 됨

    Intellij에서 프로젝트 열기에서 다운로드 받은 프로젝트 경로의 build.gradle선택(gradle 프로젝트)

    최초 프로젝트 열 경우 외부에서 라이브러리를 다운받기 때문에 인터넷 연결 필수이고 시간이 꽤 걸림

    1. 스프링부트 버전과 개발언어 등 세팅
    2. 그룹, 버전, 컴파일 버전, 라이브러리 다운받는 저장소 등 세팅
    3. 라이브러리, html 템플릿 엔진 그리고 테스트 라이브러리는 jUnit으로 자동 추가 됨

    .gitignore도 자동으로 추가되어 있음

    @springBootApplication 에너테이션이 있는 메인 메서드 java파일이 있고 실행 시 내장 tomcat이 8080포트로 구동됨

    브라우저에서 페이지 호출 시 404가 표시됨(index페이지가 없으니까 당연함), 여기까지 표시되면 정상 구동된 것임
    이렇게 금방 프로젝트를 구동할 수 있음
    https://start.spring.io에서 프로젝트 구성후 다운로드 후 프로젝트를 IDE에서 열고 실행하면 바로 container가 구동됨

    인텔리제이에서 gradle을 통해서 빌드가 되면 시간이 오래걸릴 수 있으므로 gradle 통하지 않고 인텔리제이에서 직접 빌드하도록 변경함

    위처럼 test Controller파일 생성 후 hello라는 view파일 return

    • 안녕하세요! 손님 zzzz" 텍스트가 th태그 안에 있는 변수값으로 치환되어 표시됨
    • 안녕하세요! 손님 zzzz" 이 텍스트는 사실 없어도 되는데 화면에서 마크업 할 경우 보기 위해 적는다고 함
    • 해당 마크업이 서버를 통해서 표시되면 th태그 안에 있는 내용으로 치환되어 보여짐

     

    결과물

    thymeleaf template engine 동작 원리

    출처 :

    https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/lecture/49573?tab=curriculum

    BuildIntelliJ 2021.2 버전기준
    스프링부트에서는 빌드하는게 정말 간단함, 빌드 실행하면 jar파일이 생기고 해당 jar파일을 실행하면 내장 tomcat을 이용해서 웹 애플리케이션이 구동됨

    1. 인텔리제이에서 빌드하는 방법

    Gradle-Tasks-build-bootjar실행

    2. cmd로 빌드하는 방법(window 10 기준)

    gradlew.bat파일이 있는 경로로 이동 후 gradlew.bat 실행

    이 방법으로 빌드 시 build폴더가 생성이 안되었음, 원인은 더 찾아봐야 겠음

    빌드가 정상적으로 완료되면 아래처럼 프로젝트 경로에 build라는 폴더가 생기고 libs폴더안에 jar파일이 생성됨

    해당 jar파일 실행 시 내장 tomcat을 이용해 웹 애플리케이션이 실행됨

    예전 스프링 프로젝트 처럼 tomcat 설치하고 tomcat에 build된 war파일 올리고 하는 번거로운 작업을 안해도 됨 : )

    웹 애플리케이션이 정상 호출됨을 확인할 수 있음

     

    스프링부트 웹 개발

    정적 컨텐츠

    static경로에 html파일을 생성 후 브라우저에서 html파일명을 .html까지 붙여서 호출하면 끝

    스프링을 이용해서 정적 컨텐츠를 만드는 건 스프링을 사용하는 의미가 전혀 없지만 뭐하는 놈인지는 알아보자
    컨트롤러를 먼저 찾고 컨트롤러가 없으면 resources의 static안의 리소스를 찾아서 있으면 브라우저에게 return

     

    출처 : https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/lecture/49573?tab=curriculum\

    반응형