1. Spring Starter Project(스프링부트 프로젝트 생성 템플릿)
* (우선은 Maven 기준으로)
중요한건 스프링부트는 기본적으로 jsp 미지원인데; Packaging형식으로 War로 하면 사용 가능하다.
자바버전을 선택하고 NEXT 후에, 스프링부트 버전과 호환이 가능해야 한다. 예전에 올렸던 버전관련 게시물 참고하면 된다.
* 웹 어플리케이션이 주 프로젝트일 것이기에 의존성 체크하면 손쉽게
스프링을 시작할 준비가 된거다.
2. jsp사용 환경을 만들어 주기위해, pom.xml 파일 의존성 추가.
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
3. 그리고 jsp 경로 폴더 및 메인 홈 페이지 jsp 생성.
src/main/webapp/WEB-INF/views 폴더까지 생성 후,
home.jsp파일 생성.
* 그리고 단순 확인을 위한 메시지를 body에 추가한다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
홈페이지입니다.
</body>
</html>
4. scr/main/resources폴더에 application.properties 파일에서 프로퍼티 설정을 해준다.
server.port=8080
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
* 형식이 키와 값 쌍으로 이루어진 구조이다. 기존 스프링보다 간단히 프로퍼티를 설정할 수 있다.
5. 이제 컨트롤러단 패키지를 새로 생성 후, 기본 컨트롤러 클래스를 만든다.
com.boot.testController 패키지를 만들었고, HomeController 클래스 파일을 하나 만들고 ,
아래 코드를 추가한다.
package com.boot.testController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HomeController {
@RequestMapping(value="/")
public String index() {
return "home";
}
}
*기본 루트 페이지 접속시, home이라는 파일로 리턴.(@Controller 어노테이션의 역할임)
6. 여기서, 기본 스프링에서는 root-context.xml 파일에 패키지 스캔을 설정했는데;
스프링부트에서는 BootApplication 파일에 스캔관련 어노테이션만 추가하면 된다.
@SpringBootApplication
@ComponentScan(basePackages = {"com.boot.controller", "com.boot.model", "com.boot.service"}) // 새로운 패키지 스캔
*스프링부트어플리케이션 어노테이션 밑에 추가.
* @ComponentScan 어노테이션은 기본 @SpringBootApplication에 포함되어 있어서
해당패키지와 하위패키지를 스캔.(다른 패키지는 컴포넌트스캔으로 명시 필요)
그리고,
Run as에서 Spring Boot App을 실행.
인터넷 접속 확인. 나이스
'Programming > 스프링(spring) - Enterprise' 카테고리의 다른 글
스프링(spring)/ 다듬기 2(어노테이션에 대한 고찰) (0) | 2023.08.15 |
---|---|
스프링(spring)/ 스프링부트(springBoot)-mysql연동 (0) | 2023.08.15 |
스프링(spring)/ 다듬기 1(MVC에 대한 고찰) (0) | 2023.08.09 |
스프링(spring)/ +더하기 6(게시판별 좋아요 시스템 구현) (0) | 2023.08.08 |
스프링(spring)/ +더하기 5(관전 시스템) (0) | 2023.08.07 |