Web 커리큘럼 1주차 - Orientation & 기본 세팅

이은지·2023년 9월 17일
0

GDSC-Web

목록 보기
1/7
post-thumbnail
post-custom-banner

📌  교재 1.05 까지 참고하면서 과제 진행하기

1. 초기 설정 진행

  1. IntelliJ Ultimate 설치
  2. http://start.spring.io 접속하여 프로젝트 생성

2. 점프 투 스프링부트 1.05까지 진행

브라우저 주소창에 http://localhost:8080/hello 라는 URL을 입력했을 때 브라우저 화면에 "Hello World"라는 문구를 출력하는 웹 프로그램 작성하기

1.04 스프링부트 맛보기

📌 HelloController

  • http://localhost:8080/hello 와 같은 브라우저의 요청을 처리하기 위해서는 컨트롤러(Controller)가 필요
  • 컨트롤러는 서버에 전달된 클라이언트의 요청(URL과 전달된 파라미터 등)을 처리하는 자바 클래스
package com.gdsc.webboard.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {
    @GetMapping("/hello")
    @ResponseBody
    public String hello(){
        return "hello!!!";
    }

}

src/main/java/com.gdsc.webboard 경로에 controller 패키지를 만들고 HellController파일을 다음과 같이 추가했다.

  • 소스설명
    • @Controller 애너테이션은 HelloController 클래스가 컨트롤러의 기능을 수행한다는 의미로 이 애너테이션이 있어야 스프링부트 프레임워크가 컨트롤러로 인식
    • hello 메서드에 적용된 @GetMapping("/hello") 애너테이션은 http://localhost:8080/hello URL 요청이 발생하면 hello 메서드가 실행됨을 의미 → /hello URL과 hello 메서드를 매핑하는 역할
    • @ResponseBody 애너테이션은 hello 메서드의 응답 결과가 문자열 그 자체임을 나타낸다. hello 메서드는 "hello!!!" 라는 문자열을 리턴하므로 출력으로 "hello!!!" 문자열이 나갈 것

📌 브라우저로 확인하기

  • 브라우저를 실행하고 주소창에 http://localhost:8080/hello라고 입력

1.05 스프링부트 도구 설치하기

📌 Spring Boot Devtools (이미 스프링부트 프로젝트 생성 시 설치됨)

  • Spring Boot Devtools는 스프링부트 개발시 도움을 주는 도구로 Spring Boot Devtools를 설치하면 서버 재시작 없이도 클래스 변경시 서버가 자동으로 재기동
  • build.gradle 파일 확인
plugins {
	id 'java'
	id 'org.springframework.boot' version '3.0.10'
	id 'io.spring.dependency-management' version '1.1.3'
}

group = 'com.gdsc'
version = '0.0.1-SNAPSHOT'

java {
	sourceCompatibility = '17'
}

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-web'
	compileOnly 'org.projectlombok:lombok'
	developmentOnly 'org.springframework.boot:spring-boot-devtools'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
	useJUnitPlatform()
}

⭐️ developmentOnly
Gradle의 developmentOnly는 개발환경에만 적용되는 설정이다. 즉, 운영환경에 배포되는 jar, war 파일에는 developmentOnly로 설치된 라이브러리는 제외된다.

📌 Live Reload

  • Spring Boot Devtools의 Live Reload 기능을 사용하면 브라우저 재호출(또는 리프레시) 없이 변경 사항을 확인할 수 있음

📌 롬복

  • 자바 클래스에 Getter, Setter, 생성자 등을 자동으로 만들어 주는 도구

3. 과제 수행

[**과제] 위의 링크들 따라서 IntelliJ Ultimate 설치 후 웹페이지에 “hello!” 문자열 출력하는 것까지! (Slack에 스크린 샷 찍어서 올리면 끝!)**

profile
소통하는 개발자가 꿈입니다!
post-custom-banner

0개의 댓글