spring 환경설정
2025. 9. 8. 20:45ㆍ개발/스프링
반응형
최근에는 IntelliJ, springboot, Gradle을 많이 쓰는 추세이다.
라이브러리 살펴보기
Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 한다.
스프링 부트 라이브러리
- spring-boot-starter-web
- spring-boot-starter-tomcat: 톰캣 (웹서버)
- spring-webmvc: 스프링 웹 MVC
- spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View)
- spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅
- spring-boot
- spring-core
- spring-boot-starter-logging
- logback, slf4j
- spring-boot
테스트 라이브러리
- spring-boot-starter-test
- junit: 테스트 프레임워크
- mockito: 목 라이브러리
- assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
- spring-test: 스프링 통합 테스트 지원
View 환경설정
Welcome Page 만들기
`resources/static/index.html`
<!DOCTYPE HTML>
<html>
<head>
<title>Hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
Hello
<a href="/hello">hello</a>
</body>
</html>
```
@Controller
public class HelloController {
@GetMapping("hello")
public String hello(Model model) {
model.addAttribute("data", "hello!!");
return "hello";
}
}
```
resources/templates/hello.html
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p>
</body>
</html>
동작 환경 그림
- 컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버( `viewResolver` )가 화면을 찾아서 처리한다.
- 스프링 부트 템플릿엔진 기본 viewName 매핑
- `resources:templates/` +{ViewName}+ `.html`
참고: `spring-boot-devtools` 라이브러리를 추가하면, `html` 파일을 컴파일만 해주면 서버 재시작 없이
View 파일 변경이 가능하다.
- 인텔리J 컴파일 방법: 메뉴 build Recompile
빌드하고 실행하기
- 콘솔로 이동
- `./gradlew build`
- cd build/libs`
- `java -jar hello-spring-0.0.1-SNAPSHOT.jar`
- 실행 확인
- 윈도우 사용자를 위한 팁
- 콘솔로 이동 명령 프롬프트(cmd)로 이동
- `./gradlew` `gradlew.bat` 를 실행하면 됩니다.
- 명령 프롬프트에서 `gradlew.bat` 를 실행하려면 `gradlew` 하고 엔터를 치면 됩니다.
- `gradlew build`
- 폴더 목록 확인 `ls` `dir`
- 윈도우에서 Git bash 터미널 사용하기
[[ 강의 시청 Tip ]] 윈도우라서 맥의 iTerm이 없는데 ... - 인프런 | 커뮤니티 질문&답변
누구나 함께하는 인프런 커뮤니티. 모르면 묻고, 해답을 찾아보세요.
www.inflearn.com
퀴즈
- Spring 프로젝트에서 Gradle 같은 빌드 도구의 주요 역할은 무엇일까요?
- Gradle은 프로젝트 빌드 과정을 자동화하고, 필요한 외부 라이브러리(의존성)를 효율적으로 관리해줘요. 개발 편의성을 높여주는 핵심 도구랍니다.
- Starter 의존성 하나만 추가해도 관련 라이브러리들이 자동으로 함께 따라와요. 덕분에 호환성 걱정 없이 필요한 기능을 쉽게 추가할 수 있죠.
- Spring Boot에 Tomcat 같은 내장 웹 서버가 포함되어 있어서 좋은 점?
- 내장 웹 서버 덕분에 개발자가 별도로 톰캣 같은 웹 애플리케이션 서버를 설치하고 설정할 필요가 없어져요. 빌드된 JAR 파일 하나로 바로 실행 가능하답니다.
- 개발 시 System.out.println 대신 로깅 프레임워크를 사용하는 주된 이유는 무엇일까요?
- 로깅 프레임워크는 메시지 중요도(레벨) 구분, 출력 위치(콘솔, 파일) 설정 등 System.out.println보다 훨씬 다양한 기능을 제공해요. 실제 서비스 운영 시 필수적이죠.
- start.spring.io는 Spring Boot 프로젝트의 초기 설정을 웹사이트에서 쉽게 할 수 있게 도와주는 도구예요. 필요한 의존성을 선택하면 프로젝트 골격을 만들어주죠
반응형