Back-End/SpringBoot

[SpringBoot] SpringBoot란?

zsunny 2023. 4. 27. 11:56

SpringBoot?

특징

Spring의 경우 library추가, dependency 설정 등 SpringFramework가 처리해야하는 여러 구성 및 설정파일을 setting해야했다.
하지만 SpringBoot는 이러한 것들을 모두 자동으로 설정해준다.

장점

  • project에 따라 자주 사용되는 library들이 미리 조합되어 있음
  • 복잡한 설정을 자동으로 처리해 줌
  • tomcat을 내장 서버로 가져 WAS를 추가 설치 않아도 됨
  • WAS에 배포하지 않고 실행할 수 있는 JAR파일로 Web Application을 개발 할 수 있음

SpringBoot Project 생성

프로젝트 생성

  • New -> Spring Boot -> Spring Starter Project
  • Name : 프로젝트 명
  • Type : gradle / maven
  • Java Version : 8 (본인 Java Version 선택)
  • GroupId : 프로젝트를 정의하는 고유한 식별자 정보 (Java package name rules를 따라 보통 com.xx.xx 처럼 인터넷 주소를 뒤집어 써놓은 형태)
  • ArtifactId : 버전 정보를 생략한 Jar파일 이름
  • Description : 프로젝트 설명란
  • Spring Boot Version : 2.3.4 (본인 Java Version에 맞는 것 선택, 3.X.X 는 Java17부터 지원)
  • Available : 필요한 툴 선택
    • Spring Boot DevTools (default select)
    • Spring Web (default select)
    • MyBatis Framework
    • MySQL Driver (Oracle이면 Oracle Driver)

프로젝트 주요 구성 파일

  • src/main/java : java source directory
    • HelloSpringBootApplication.java : application을 시작할 수 있는 main method가 존재하는 Spring 구성 메인 클래스
    • 이 안에 필요한 Controller java파일을 생성한다.
  • src/main/resources
    • static : css, js, img등 정적 resource directory
      • assets : css, js, img등 정적 파일 모아둔 폴더
        • css / img 폴더
        • index.html파일
    • templates : Spring boot에서 사용 가능한 여러 View Template 위치
    • application.properties : application 및 스프링의 설정 등에서 사용할 여러 가지 property를 정의
      # PortNumber Setting
      server.port=80         # https://localhost 만으로 호출 가능
      # JSP Path (ViewResolver)
      spring.mvc.view.prefix=/WEB-INF/views/
      spring.mvc.view.suffix=.jsp
  • src
    • main : jsp등의 리소드 directory
      • webapp
        • WEB-INF
          • views : 이 안에 필요한 jsp파일을 생성한다.
  • pom.xml
<!-- AOP Setting (위에서 web -> aop로 바꾸면 rt, weave, jdbs 다 알아서 다운됨)--> 
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>


<!-- JSP Setting -->
    <!-- 내장 톰캣에 있던 jasper 가져옴 -->
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <!-- <version>${tomcat.version}</version> -->
    </dependency>

    <!-- 내장 톰캣에 있던 jstl 가져옴 -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <!-- <version>${jstl.version}</version> -->
    </dependency>

'Back-End > SpringBoot' 카테고리의 다른 글

[SpringBoot] 카카오 로그인 구현 (feat. JWT)  (0) 2024.11.18