[스프링부트]Springboot 기본 개념

[스프링부트]Springboot 기본 개념

Spring Framework

스프링 프레임워크는 자바 생태계에서 가장 대중적인 응용프로그램 개발 프레임워크입니다. 중요한 특징 두가지는

  • 의존성 주입(DI, Dependency Injection)
  • 제어의 역전(IOC, Inversion Of Control)
    이들로 인해서 결합도를 낮추는 방식으로 어플리케이션을 개발할 수 있습니다. 이러한 개발방식으로 개발한 응용프로그램은 단위테스트가 용이하기 때문에 퀄리티 높은 프로그램을 개발할 수 있습니다.
    스프링으로 개발하다보면 Transaction Manager, Hibernate Datasource, Entity Manager, Session Factory와 같은 설정을 하는데에 어려움이 많이 있었습니다. 최소한의 기능으로 Spring MVC를 사용하여 기본 프로젝트를 셋팅하는데 개발자에게 너무 많은 시간이 걸렸습니다. 이러한 어려움을 해결하기 위해 나온게 Spring Boot입니다.
    출처 : https://sas-study.tistory.com/274




스프링 부트 스타터 사이트

스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성해보자.
실무에서도 많이 사용한다.

기본 설정

  • 프로젝트 선택
    • Project: Gradle Project
    • Spring Boot: 2.3.x
      • 최신버전으로 진행하기
      • (SNAPSHOT)은 개발진행중인 베타버전을 뜻 함. (SNAPSHOT)없는 버전으로 선택하기
    • Language: Java
    • Packaging: Jar
    • Java: 11
  • Project Metadata
    • groupId: hello
    • artifactId: hello-spring
  • Dependencies: Spring Web, Thymeleaf




Controller, Service, Repository

  • Controller : 컨트롤러를 통해서 외부요청을 받고
  • Service : 서비스에서 비즈니스 로직을 만들고
  • Repository : 레포지토리에서 데이터를 저장한다.

http://randikatech.blogspot.com/2019/09/get-your-hands-dirty-with-micro-services.html

https://springbootdev.com/2017/07/31/spring-framework-component-service-repository-and-controller/




IntelliJ Gradle 대신에 자바 직접 실행

나는 윈도우 사용자이므로 File > Setting > Gradle 검색을 통해 설정을 변경하였다.

최근 IntelliJ 버전은 Gradle을 통해서 실행 하는 것이 기본 설정이다. 이렇게 하면 실행속도가 느리다. 다
음과 같이 변경하면 자바로 바로 실행해서 실행속도가 더 빠르다.
Preferences Build, Execution, Deployment Build Tools Gradle

  • Build and run using: Gradle IntelliJ IDEA
  • Run tests using: Gradle IntelliJ IDEA




참고

본 포스팅은 인프런강의 스프링 입문 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술에서 공부한 내용을 바탕으로 직접 구글링한 내용을 더해 작성하였다.