티스토리 뷰

728x90
반응형

Springboot 프로젝트 만들기

아래 사이트에서 확인 해보면 된다.

https://jih3508.tistory.com/159

 

[Spring-boot] 프로젝트 만들기 - 방법1(사이트에서 프로젝트 만들기)

서론 이번글은 Spring Boot 처음에 어떻게 만드는 지를 설명 할것이다. 만드는 방법은 2가지 있는데 1가지 방법은 spring 사이트에 들어가서 만드는 방법이 있고 나머지는 툴을 사용해서 직접 생성하

jih3508.tistory.com

(연습문제) api 하나 뚝딱

test 패키지 만들고 TescContrller를 추가한다.

TestController에 아래와 같은 코드를 작성한다.

package com.test.firstproject.test;

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

import java.util.HashMap;
import java.util.Map;

@RestController
public class TestController {

    @GetMapping("/api/test")
    public Map<String, Object> test(){
        Map<String, Object> result = new HashMap<>();
        result.put("result", "test");
        return result;
    }

}

실행시키면 아래와 같은 코드가 나온다.

(추가문제) intelliJ가 아닌 jar파일로 빌드하고 실행해봅시다.

> .\gradlew build
> cd .\build\libs

파일 목록을 확인 해보면 아래와 같이 나온다.

아래 명령어를 실행하면 springboot가 실행 된다.

> java -jar .\firstproject-0.0.1-SNAPSHOT.jar

문자열 리턴하는 GET api 생성하기

 아까전에 만든 TestController에 아래 같으 메소드를 추가해라

    @GetMapping("/name")
    public String name(){
        return "Hong Gil Dong";
    }

query parameter로 입력받은 값을 리턴하는 GET api 생성하기

아까전에 만드 name 메소드를 아래 코드로 변경하자

    @GetMapping("/name")
    public String name(@RequestParam("name") String name){
        return "안녕하세요! 내 이름은 " + name + " 입니다.";
    }

(심화) lombok 의존성 추가하고 로그 찍어보기

test 패키지에 LogController로 추가하고 밑에 코드를 작성한다.

package com.test.firstproject.test;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("/log")
@Slf4j
public class LogController {

    @GetMapping("/test")
    public Map<String, Object> test(){
        log.info("test 로그 테스트 입니다.");
        Map<String, Object> result = new HashMap<>();
        result.put("result", "OK");
        return result;
    }
}

@Slf4j

 log 지원하는 라이브러리이다. Class위에 @Slf4j 선언하고 log 남길때는 log.info("message") 작성하면된다.

System.out.println 메소드로 출력하면되지만 나중에 개발서버나 운영서버에 배포해서 에러 원인을 찾을때 파일에 기록을 남길수 있다.

localhost:8080/log/test 를 테스트하면 아래와 같은 결과를 얻을수 있다.

마무리

프로젝트 결과물: https://github.com/JSCODE-EDU/spring_class_IkHyun/pull/3

 

Feature/ikhyun by jih3508 · Pull Request #3 · JSCODE-EDU/spring_class_IkHyun

3주 과제 입니다.

github.com

 3주차 pr입니다.

궁금한것

  • spring vs spring-boot
  • RestController vs Controller 어노테이션 차이
  • Gradle vs maven
  • Bean(빈), IOC(제어의 역전), DI (의존성 역전), 서블릿 의미와 각 사용 목적
728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함