Spring
Java 플랫폼을 위한 강력한 애플리케이션 프레임워크로, 주로 엔터프라이즈 애플리케이션을 개발하는 데 사용한다.
기본 환경 설정하기
자바가 설치되어 있지 않은 경우, 먼저 오라클에서 자바를 설치해 준다.
https://www.oracle.com/kr/java/technologies/downloads/
Download the Latest Java LTS Free
Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.
www.oracle.com
다음 링크는 스프링 프로젝트의 기본 구조를 자동으로 생성해 주는 사이트이다.
자신에게 필요한 의존성을 선택해서 간단하게 프로젝트를 생성할 수 있다.
https://start.spring.io/

Gradle
Ant나 Maven과 같은 이전 세대 도구들의 단점을 보완하고 장점을 취합하여 만든 빌드 도구. Groovy를 기반으로 하며, 오픈소스로 공개되어 있음
Groovy
Java에 Python, Ruby, 스몰토크 등의 특징을 더한 동적 객체 지향 프로그래밍 언어
생성한 프로젝트의 압축을 풀고, 인텔리제이 실행해 해당 프로젝트를 열어준다.
build-gradle은 설정 파일로, 우리가 설치한 프로그램을 볼 수 있다.

main/java/hellov1/hellov1_spring/Hellov1SpringApplication 파일을 import 한다.
import를 완료하면 콘솔창에 다음과 같이 보이게 된다.

http://localhost:8080/ 링크에 들어가 다음과 같이 뜨면 정상적으로 연결된 것이다.
(아직 아무것도 진행하지 않았기 때문에 화이트 라벨 에러 페이지가 뜬다.)

Welcome Page 만들기
다음 경로에 index.html 파일을 생성한다.

import 후 localhost를 확인하면 다음과 같이 뜨는 것을 볼 수 있다.
그러나 Hello 링크를 클릭하면 다시 화이트라벨 에러 페이지가 뜨게 된다.

Controller 생성하기
다음 경로에 패키지와 자바 클래스파일을 생성한다.

HellowController.java
package hellov1.hellov1_spring.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller //해당 자바 파일이 Controller라는 것을 의미하는 어노테이션
public class HellowController {
@GetMapping("Hello") //HTTP GET 요청을 처리하기 위한 어노테이션
public String hello() {
return "Hello";
}
}
templates 경로에 출력될 html 파일을 생성해 준다.

다시 localhost를 들어가서 Hello 링크를 클릭해 보면 다음과 같이 뜨는 것을 볼 수 있다.

동적으로 설정하기
HellowController.java
package hellov1.hellov1_spring.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller //해당 자바 파일이 Controller라는 것을 의미하는 어노테이션
public class HellowController {
@GetMapping("Hello")
public String hello(Model model) { //MVC 패턴에서 컨트롤러와 뷰 간에 데이터를 전달하는 역할
model.addAttribute("data", "이기자");
return "Hello";
}
}
hello.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>hello</title>
</head>
<body>
<p th:text="'안녕하세요, ' + ${data}">안녕하세요, 손님</p>
<!-- Thymeleaf 템플릿 엔진에서 사용되는 속성으로, HTML 요소의 텍스트 내용을 동적으로 설정하는 데 사용 -->
</body>
</html>
localhost

'Framework > Spring' 카테고리의 다른 글
| [Spring] HTML 구성 요소의 통합 (2) | 2024.10.31 |
|---|---|
| [Spring] 회원 관리 예제 (1) | 2024.10.31 |
| [Spring] H2 서버 연결하기 (0) | 2024.10.30 |
| [Spring] MVC 패턴 (0) | 2024.10.30 |
| [Spring] IntelliJ IDEA 설정 (0) | 2024.10.29 |