티스토리 뷰
728x90
반응형
Springboot 프로젝트 만들기
아래 사이트에서 확인 해보면 된다.
https://jih3508.tistory.com/159
(연습문제) 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
3주차 pr입니다.
궁금한것
- spring vs spring-boot
- RestController vs Controller 어노테이션 차이
- Gradle vs maven
- Bean(빈), IOC(제어의 역전), DI (의존성 역전), 서블릿 의미와 각 사용 목적
728x90
반응형
'Spring-boot > Spring Study 기록 일지' 카테고리의 다른 글
[JSCODE-백엔드 입문 프로젝트 클래스(Spring Boot)] 3주 (0) | 2023.05.22 |
---|---|
[JSCODE-백엔드 입문 프로젝트 클래스(Spring Boot)] 1주 (0) | 2023.05.09 |
[JSCODE-스프링부트 입문] 6주차 (0) | 2023.03.26 |
[JSCODE-스프링부트 입문] 5주차 (0) | 2023.03.24 |
[JSCODE-스프링부트 입문] 4주차 (0) | 2023.03.19 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 재귀호출
- 누적합
- java
- JSCODE
- 문자열
- 백준
- DFS
- level2
- 조합
- 파이썬
- 알고리즘
- 힙
- 동적계획법
- 이론
- 동적 계획법
- 자바
- Python
- LeetCode
- 배열
- spring-boot
- 구현
- 그리디
- 그래프
- Greedy
- Programmerse
- 수학
- 백트레킹
- 넓이 우선 탐색
- BFS
- DP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함