반응형
본 게시물은 「스프링 입문 - 코드로 배우는 스프링 부트, 웹 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
프로젝트 생성
스프링 부트 starter 사이트에서 스프링 프로젝트를 생성
project → gradle
language - java
spring boot - 2.3.1
1. project metadata
- group - 보통 기업명 작성
- artifact - 결과물
나머지는 유지
2. dependencies
스프링 부트를 기반으로 어떤 라이브러리를 사용할 것인지 정하는 것
사용할 라이브러리 : spring web, thymeleaf (html 만들어주는 템플릿 엔진)
- generate 눌러 생성하고
- 다운로드 받은 폴더를 원하는 곳에 두고 압축 풀기
- 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>
...
- return 한 hello.html 파일을 찾아서 data를 "hello!!"로 치환하여 출력한다
- 이때 스프링을 재실행해야 변경된 결과를 확인할 수 있다
반응형