- 프로젝트 생성
- 라이브러리 살펴보기
- View 환경설정
- 빌드하고 실행하기
$ java -version
openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.10+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.10+9, mixed mode)
Project: Gradle Project (Maven: 레거시 프로젝트)
Spring Boot: (강의 당시) 2.3.8 --> 현재 최신버전: 2.4.2
Language: Java
Packaging: Jar
Java: 11
/src - main - java # 패키지, 소스코드
- resources # java 파일 제외한 나머지
- test
- build.gradle # 설정파일. 버전설정. 라이브러리 땡겨옴
http://localhost:8080/ 페이지 띄우는 것 까진 했어요.
favicon이 크롬 브라우저 지구본으로 뜨는 문제가 있긴 하지만...
Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 하는 거예요.
이젠 과거처럼 웹서버(톰캣)을 별도로 설치할 필요가 없답니다.
/src/main/resources/static/index.html
7.1.6. Welcome Page
Spring Boot supports both static and templated welcome pages. It first looks for an index.html file in the configured static content locations. If one is not found, it then looks for an index template. If either is found, it is automatically used as the welcome page of the application.
7.1.9. Template Engines
As well as REST web services, you can also use Spring MVC to serve dynamic HTML content. Spring MVC supports a variety of templating technologies, including Thymeleaf, FreeMarker, and JSPs. Also, many other templating engines include their own Spring MVC integrations.
Spring Boot includes auto-configuration support for the following templating engines:
- FreeMarker
- Groovy
- Thymeleaf
- Mustache
/src/main/java/com.broadenway.hellospring/controller
/src/main/java/com.broadenway.hellospring/controller/HelloController
@Controller
public class HelloController {
@GetMapping("hello")
public String hello(Model model) {
model.addAttribute("data", "hello!!");
return "hello"; // /src /resources/templates/hello.html로 이동
}
}
/src/resources/templates/hello.html
http://localhost:8080/hello 접속 확인 완료!
컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버( viewResolver )가 화면을 찾아서 처리한다.
참고: spring-boot-devtools 라이브러리를 추가하면, html 파일을 컴파일만 해주면 서버 재시작 없이 View 파일 변경이 가능하다.
gradlew build
./gradlew build
java -jar
cd build/libs
java -jar hello-spring-0.0.1-SNAPSHOT.jar # hello-spring-0.0.1-SNAPSHOT.jar : 파일명
주의
8080 포트 사용중인 경우 에러나므로 IDE 실행중인 것은 종료하고 실행
./gradlew clean build # build 폴더 완전히 삭제하고 새로 빌드함