Spring initializr


Project : 생성할 프로젝트의 빌드 자동화 툴
Language : 생성할 프로젝트의 언어
Spring Boot : Spring Boot 버전 선택
Project Metadata : 프로젝트 정보
Dependencies : 프로젝트 의존성 선택
Spring Boot 기반으로 Spring 관련 프로젝트를 만들어주는 사이트
Spring에서 운영하고 있으며, 해당 사이트에서 원하는 라이브러리를 선택 후 프로젝트 생성 가능
Apache Tomcat
스프링부트는 기본적으로 8080 포트를 사용하여 내장된 Apache Tomcat 웹 서버를 통해 실행 됨.
Apache Tomcat은 아파치 소프트웨어 재단에서 개발한 서블릿 컨테이너만 있는 웹 어플리케이션 서버를 말함
Apach Tomcat의 내부 구성도

Apache | 아파치 소프트웨어 재단에서 만든 Web Server로 정적 리소스를 응답(80 포트) |
Tomcat | 동적인 데이터를 처리하는 서버. Web Application Server (8080 포트) |
내장 AP 서버 (EmbededAP Server)

AP 서버 (애플리케이션 서버) | 자바 웹 애플리케이션을 구동하기 위해 필요한 프로그램 (ex. Tomcat, Jetty, Undertow 등) |
내장 AP 서버 | 스프링 부트의 핵심 특징 애플리케이션 내부에 AP 서버를 포함하므로 별도의 서버 설치가 필요 없음 따라서, 애플리케이션 배포와 실행이 간단 |
참고. application.properties 파일
src/main/resources 아래에서 존재하며, Spring Boot 애플리케이션의 설정을 관리하는 파일 |
Node js에서 env 파일과 비슷한 역할을 담당하며, 애플리케이션의 다양한 설정을 외부에서 관리할 수 있게 도와줌 |
즉, 환경별로 다른 설정을 쉽게 적용할 수 있도록 도와주며, 기본적으로 key=value 형태의 택스트 기반 속성 파일임 |
Spring Boot 프로젝트의 구조

main/ | 실제 코드를 작성하는 곳 |
test/ | 프로젝트의 소스 코드를 테스트하는 코드 or 리소스 파일 |
build.gradle | 빌드 설정 파일 |
setting.gradle | 빌드할 프로젝트 정보 설정 파일 |
Spring Boot의 정적 파일

src/main/resources/static 에 위치하며, html 파일과 css 파일을 작성해둘 수 있음 |
localhost:PORT 로부터 경로를 입력하면 위치하고 있는 파일 보기 가능 |
Spring Boot의 기본 틀 설정
1. Controller 클래스 생성

@Controller : 해당 클래스가 Controller 클래스라는 것을 Spring Container에게 알려준다. |
@GetMapping : URL을 매핑시켜 주는 것으로 HTTP의 GET 메서드의 /hi 경로에 대한 요청이 연결되며 getHi라는 함수를 실행시킨다. |
Model : 스프링 MVC가 제공하는 타입으로 View에서 참조 할 수 있는 객체 지정 가능 |
2. Template View 생성

• src/main/resources 아래 templates 폴더 아래 생성 |
• 템플릿 파일의 저장 위치와 확장자는 스프링 부트에 자동 설정되어 있어 임의로 변경할 수 없음 |
• 즉, view 파일은templates/ 폴더에 생성되고, .html 확장자를 사용하도록 정해져 있는 것 |
Spring Boot 동작 환경

1. localhost:8080/hi 요청 시, 톰캣이 스 프링한테 넘겨줌 |
2. 컨트롤러(HelloController.java)에서 매 칭되는 URL 을 찾음 |
3. 해당 메소드(getHi) 에서 반환하는 문 자열을 ViewResolver 가 화면을 찾아 서 처리(templates/hi.html) |
'국비지원 공부 정리 > SpringBoot' 카테고리의 다른 글
REST API (0) | 2025.04.10 |
---|---|
Thymeleaf 란? (0) | 2025.04.10 |
Spring MVC (0) | 2025.04.10 |
Spring Boot란? (0) | 2025.04.09 |
Spring이란? (0) | 2025.04.09 |