Cute Running Puppy

Back end/spring

[스프링 입문] 1. 프로젝트 환경 설정

R.silver 2022. 6. 27. 21:41
반응형
본 게시물은 「스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술」을 수강한 뒤 관련 내용을 정리한 게시물입니다. 
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard
 

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런...

www.inflearn.com

프로젝트 생성

 

스프링 부트 starter 사이트에서 스프링 프로젝트를 생성

https://start.spring.io

project → gradle
language - java
spring boot - 2.3.1

1. project metadata

  • group - 보통 기업명 작성 
  • artifact - 결과물

나머지는 유지 

2. dependencies

스프링 부트를 기반으로 어떤 라이브러리를 사용할 것인지 정하는 것 

사용할 라이브러리 : spring web, thymeleaf (html 만들어주는 템플릿 엔진)

 

  1. generate 눌러 생성하고 
  2. 다운로드 받은 폴더를 원하는 곳에 두고 압축 풀기 
  3. intellij에서 open or import 눌러서 폴더로 들어가고 build.gradle 누르기

라이브러리 살펴보기 

1. 의존 관계

spring starter 사이트에서 thymeleaf 와 spring web만 import 했는데 다른 것들이 많이 import 되어있음 

-> 의존 관계를 모두 끌어오는 gradle의 기능!

예를 들어 a가 b 패키지를 사용한다고 하면 b를 불러오고 b가 c를 사용한다면 c까지 모두 불러오는 기능 

따로 tomcat 설치 하지 않아도 자동으로 설치됨 

 

2. 로그 

System.out.println();
  • 연습할 땐 println으로 로그를 출력해도 되지만 실무에서는 로그를 사용하는 것이 좋다 
  • 로그를 사용해야 심각한 에러 같은 것들을 저장하여 관리할 수 있다 

 

3. test

  • junit 라이브러리를 주로 사용한다 
  • spring-test 스프링으로 test 할 수 있도록 도와주는 패키지 

등등을 사용한다


view 환경 설정

1. welcome 페이지 만들어보기 

src/main/resources/static/index.html  추가

static 폴더에 정적 html 파일을 작성하면 정적 웹페이지를 올릴 수 있다 

2. 컨트롤러 

웹 애플리케이션의 첫번째 진입지점 

main/java/hello.hellospring.controller/HelloControleer.java

클래스 생성 

@Controller // spring은 먼저 컨트롤 어노테이션을 적어줘야 한다 
public class HelloController {

    // web application 에서 hello 가 들어오면 아래 method 실행
    @GetMapping("hello")
    public String hello(Model model) {
        // data를 hello!! 라고 넘길 것이다
				// 아래 html 파일에서 <p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p>
				// 부분의 ${data}가 "hello!!"로 치환된다 
        model.addAttribute("data", "hello!!");
				// hello 파일을 찾아서 연결하라는 의미
				// spring은 return 하면 기본적으로 resource/templates로 가서 파일을 찾는다
				// resources:templates/ +{ViewName}+ .html 파일을 찾는다 
        return "hello";
    }
}

resource/templates/hello.html

...
<p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p>
...

hello.html

  • return 한 hello.html 파일을 찾아서 data를 "hello!!"로 치환하여 출력한다 
  • 이때 스프링을 재실행해야 변경된 결과를 확인할 수 있다 
반응형