본문 바로가기
반응형
SMALL

분류 전체보기120

컨트롤러(@RestController, @Controller) Controller란?스프링 MVC에서 Controller는 사용자의 요청(Request)을 받아 처리하고, 적절한 응답(Response)을 돌려주는 역할을 합니다. MVC 구조에서 **"C(Controller)"**에 해당하죠.@Controller특징HTML 뷰(View)를 반환할 때 사용주로 Thymeleaf, JSP 등 템플릿 엔진과 함께 사용반환 값은 뷰 이름이며, 템플릿에서 해당 파일을 찾아 렌더링함예시@Controllerpublic class HelloController { @GetMapping("/hello") public String hello(Model model) { model.addAttribute("name", "단비"); return "hello.. 2025. 4. 14.
내장 톰캣 이해하기 내장 톰캣(Embedded Tomcat)이란?정의내장 톰캣이란, **웹 서버(Tomcat)**를 따로 설치하지 않아도, Spring Boot 애플리케이션 내부에 포함되어 함께 실행되는 구조를 말합니다.한 줄 요약:스프링 부트는 톰캣을 프로젝트 안에 내장시켜서,그냥 JAR 실행만으로도 웹 서버가 작동되도록 합니다.동작 방식기존의 전통적인 웹 애플리케이션은 WAR 파일을 만들고 외부 톰캣에 배포해야 했습니다:[WAR 파일] → [톰캣 설치 폴더]에 복사 → [톰캣 실행] → 웹 애플리케이션 동작 하지만, 스프링 부트는 다음과 같은 흐름을 탑니다:[Spring Boot App] + [내장 Tomcat] → JAR 파일 생성 → java -jar로 실행 spring-boot-starter-web을 의존성에 추가.. 2025. 4. 14.
application.properties vs application.yml application.properties vs application.yml 항목 application.properties application.yml 형식Key-Value 쌍 (평면 구조)YAML 문법 (계층 구조)가독성단순, 짧고 익숙한 형식들여쓰기로 구조 표현이 쉬움다중 프로필 관리.properties 파일을 여러 개 생성한 파일에서 프로필 구분 가능복잡한 설정표현이 복잡해짐계층적 표현이 간결학습 곡선쉬움들여쓰기 오류 주의 필요스프링 지원완벽 지원완벽 지원예제 비교1. application.properties 예제server.port=8081spring.datasource.url=jdbc:mysql://localhost:3306/mydbspring.datasource.username=rootsprin.. 2025. 4. 14.
프로젝트 구조 이해 스프링 부트 기본 프로젝트 구조Spring Initializr에서 생성한 기본 프로젝트는 다음과 같은 디렉토리 구조로 구성됩니다:demo/├── src/│ ├── main/│ │ ├── java/│ │ │ └── com/example/demo/│ │ │ └── DemoApplication.java ← 메인 클래스│ │ └── resources/│ │ ├── static/ ← 정적 파일(css, js, 이미지)│ │ ├── templates/ ← HTML 템플릿(Thymeleaf 등)│ │ ├── application.p.. 2025. 4. 14.
Spring Initializr 사용법 Spring Initializr란?Spring Initializr는 웹 기반 혹은 IDE 내장 인터페이스로, 스프링 부트 프로젝트를 생성하는 툴입니다. 필요한 의존성, 언어, 빌드 도구 등을 선택하면 ZIP 파일로 프로젝트를 내려받을 수 있어요.공식 사이트: https://start.spring.io/사용 순서 (웹 버전 기준)1. 접속https://start.spring.io/ 에 접속2. 프로젝트 메타정보 입력 항목 설명 ProjectGradle 또는 Maven 선택LanguageJava 권장Spring Boot버전 선택 (최신 안정화 버전 추천)Group보통 com.example 형태Artifact프로젝트 이름 (예: demo)Name / Description프로젝트명 및 간단한 설명Package .. 2025. 4. 14.
Gradle vs Maven Gradle vs Maven 비교 정리 항목GradleMaven등장 시기2007년2004년스크립트 언어Groovy (또는 Kotlin DSL)XML설정 파일build.gradle / build.gradle.ktspom.xml성능빠름 (증분 빌드, 캐싱, 병렬 처리)비교적 느림가독성간결함 (코드 스타일)구조적 (명확하지만 장황함)학습 곡선중간~높음쉬움 (명시적이므로 이해 쉬움)커뮤니티증가 중 (Android 개발자 주도)오래된 생태계, 안정적스프링 공식 지원완벽 지원완벽 지원실행 명령어 예시./gradlew buildmvn package예시 비교Gradle (build.gradle)plugins { id 'org.springframework.boot' version '3.2.0' id 'java.. 2025. 4. 14.
LIST