[BACK-END]/[SPRING]

SPRING 시작

지기음 2022. 12. 1. 14:41
junho@byeonjunhoui-MacBookAir hello-spring % cd build
junho@byeonjunhoui-MacBookAir build % cd libs
junho@byeonjunhoui-MacBookAir libs % ls -arlth
junho@byeonjunhoui-MacBookAir libs % java -jar hello-spring-0.0.1-SNAPSHOT.jar

백엔드를 다루기 위해서는 스프링을 배워야한다. 

스프링의 커리큘럼은 인프런의 무료강의를 먼저 듣기로 다짐했다. 

[스프링 입문-코드로 배우는 스프링 부트,웹 MVC, DB 접근 기술]이란 강의를 들을 것이다. 이후 커리큘럼은 김영한님의 유로강의를 통해 진행할 생각이다. (돈 써야하네 ....ㅜㅜ)

 

스프링 시작

IDE는  intelliJ를 사용할 예정이다. 원래는 이클립스를 쓸 예정이였지만 실무에서는 intelliJ 를 더 사용한다고 하여 강의와 동일하게 사용하지만 무료버전으로 사용할 것이다. 

스프링 프레임워크를 다운받는 법은 간단하다. 

https://start.spring.io/ 로 접속해서 원하는 프레임워크를 다운 받으면 된다. 

라이브러리(디펜던시)를 선택해서 추가할 수 있는데 나는 spring-web 과 tymeleaf를 선택하여 빌드하였다. 

 

intelliJ에서 해당 폴더를 열고 main/java/제목 에있는 java 파일에서 컴파일 할 수 있다.

main 함수 옆에 있는 초록색 화살표를 누르면 컴파일이 되면서 localhost:8080에서 웹페이지를 볼 수 있다. 

 

스프링 웰컴페이지

스프링을 웰컴페이지를 제공한다. 자세한 내용은 spring 공식 문서에서 확인 할 수 있다.

static 폴더에 index.html 파일을 만들고 실행하면 spring에서 알아서 찾아서 index.html파일을 실행시켜준다.

(월컴페이지 공식문서 찾아보긱 ____혼자 찾아보니까 못찾겟다)

 

스프링에서 간단한 컨트롤러 만들어보기 

데이터를 java단에서 보내서 html화면에 보여지게 하는 간단한 예제를 만들어보겠다. 

java/hello/hellospring/controller(패키지)/HelloController.java를 만들어준다 해당 폴더 안에는 

package hello.hellospring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {

    @GetMapping("hello")
    public String hello(Model model){
        model.addAttribute("data","hello!!");
        return "hello";
    }
}

를 작성해준다. 

@GetMapping은 html에서 말하는 get post방식과 유사한 느낌이다. 

gkatnsms hello라는 함수에서 data라는 이름을 가진 녀석을 보내는 내용이다. data 안에는 "hello!!"라는 글이 숨어져 있다. 

그 후 

resources/templates/hello.html를 만들어준다.

해당 문서 안에는 

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Hello</title>
</head>
<body>
<p th:text="'안녕하세요.' + ${data}">안녕하세요 손님</p>
</body>
</html>

를 작성해준다 .

th라는 것은 아까 받아온 타임리프를 받아온다. 
p태그 안에서  ${data}를 통해 이전에 선언해준 data를 받아온다.

그렇게 되면

/hello 페이지에 해당 내용이 나오게 된다!!! 

 

빌드하기 

빌드는 쉽다 주의 할 점은 build할때 꼭 실행되고 있는 것을 꺼야 한다! 안그럼 8080이 중복되어 생각대로 되지 않는다. 

다음은 빌드를 위한 명령어다

junho@byeonjunhoui-MacBookAir hello-spring % ./gradlew build

빌드 된 파일을 보고 싶다면

junho@byeonjunhoui-MacBookAir hello-spring % cd build
junho@byeonjunhoui-MacBookAir build % cd libs
junho@byeonjunhoui-MacBookAir libs % ls -arlth
junho@byeonjunhoui-MacBookAir libs % java -jar hello-spring-0.0.1-SNAPSHOT.jar

마지막 줄은 빌드된 파일이다. 

빌드된 파일을 실행하려면 마지막 파일을 자바로 실행하면 된다. 

만약 서버를 죽이고 싶다면 control z를 누르면 된다. 

 

공부 후기 

이해는 가지만 어렵다. 내가 듣고 있는 강의 리스트가 spring의 이해를 돕기 위한 강의니까 너무 부담가지지 말고 한번 들어본다는 마인드로 해보자  화이팅