곧죽어도 콛잉

[Spring] Spring Boot의 개요 / Framework vs Library 본문

Spring/기본

[Spring] Spring Boot의 개요 / Framework vs Library

코드진행형 2023. 6. 14. 08:13

개요

Framwork의 의미

  • 개발을 효율적으로 하기 위한 반제품임!
  • 사용자는 Framework에 필요한 기능을 추가하여 전체 애플리케이션을 완성함.

Web Framework

  • 웹 개발을 위한 SW 반제품임.
  • 보안, HTTP 요청처리, DB 연동 등의 웹 애플리케이션 공통 기능을 제공
  • 사용자는 Framework 위에 필요한 비즈니스 로직을 구현하여 전체 웹 애플리케이션을 완성

Library vs Framework

공통점

  • 재사용 가능한 미리 구현된 유용한 모듈을 제공.
  • 특정 목적을 위해 구현된 코드를 사용함으로써 효율적인 개발 가능

차이점

  • SW 제어의 흐름을 누가 결정하는 가에 대한 차이
  • Library → 제어권이 사용자에 있음. Framework → 제어권이 Framework에 있음. 사용자의 코드를 Framework가 사용함.

Framework의 활용

  • 사용자의 코드만 보고 개발의 흐름을 이해하기 어려움.
  • Framework가 제공하는 약속을 이해해야함(메소드나 설명한줄 등)
    • 개발자가 특정 위치에 코드를 추가 시, 프레임워크가 알아서 동작해줌.

Postman 사용하기

  • REST API 통합관리 하기위한 SW
  • API 테스트용
  • tab 하나가 서버에 api를 요청하는 하나의 단위가 됨.

Spring Boot Application 개발 순서

  • spring initializr를 활용한 spring boot 프로젝트 생성 및 다운

https://start.spring.io/

  • 다운한 spring boot 프로젝트 intellij에서 import
  • 추가 코드 개발 후 spring boot application 실행
  • 웹브라우저나 postman으로 api 테스트할 수 있음.

Spring Boot Application

package com.example.helloworld.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloWorldController {
    @GetMapping(value = "/")
    public String hello(){
        return "<h1>Hello Spring Boot!</h1>";
    }
}

localhost:8080은 내 컴퓨터를 의미함. 컨트롤러 작성 후 HelloWorldApplication 실행

  • 스프링 부트 안에 자바 언어로 만들어놓은 HelloWorldController에 hello라는 메소드를 크롬 브라우저가 네트워크를 통해 hello 메소드를 호출했다.
  • 기본적으로 원래 자바는, 자바코드 안에서만 호출이 가능하지만, Spring Framework가 네트워크를 통해 크롬브라우저와 같은 클라이언트를 이용해 자바코드를 호출함.
Comments