본문 바로가기
Frameworks/Spring

[Spring] Intro

by junseokoo 2025. 4. 10.

Java Install (For Mac)

$ brew install cask
$ brew install --cask temurin11 or temurin8
  • 환경변수
// ~/.zshrc
export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home
export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home
export PATH=${PATH}:$JAVA_HOME/bin

프로젝트 생성

  • https://start.spring.io or IntelliJ
  • 프로젝트 선택
    • Project: Gradle
    • Spring Boot: 2.xx
    • Language: Java
    • Packaging: Jar
    • Java: 11 or 8
  • 그 외 Dependencies, Project Meta Data 세팅
  • Spring Boot Version은 SNAPSHOP, M1 같은 미정식 버전 제외하고 최신 버전 사용

IntelliJ

  • IntelliJ는 Gradle을 통해서 실행하는 것이 기본 설정으로 되어있다. 이러면 실행 속도가 느리다.
  • Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle
    • Build and run using: IntelliJ IDEA
    • Run tests using: IntelliJ IDEA
  • IntelliJ에서 설치한 자바 버전을 적용해줘야 한다. (자동을 되지만 안될 경우)
    • File -> Project Structure에서 버전 선택
  • Gradle이 사용하는 JDK 설정 확인
    • Preferences -> Build Tools -> Gradle에서도 Gradle JVM 버전 확인

기본 라이브러리

Spring-boot-starter-web

  • spring-boot-starter-tomcat
    • 톰캣(웹서버)
    • spring-webmvc: 스프링 웹 MVC
  • spring-boot-starter
    • Spring Boot + Spring Core + Logging
    • spirng-boot
      • spring-core
    • spring-boot-starter-logging
      • logback, slf4ftest
        • spring-boot-starter-test
    • junit
      • 테스트 프레임워크
    • mockito
      • 목 라이브러리
    • assertj
      • 테스트 코드를 좀 더 편하게 작성할 수 있게 도와주는 라이브러리
    • spring-test
      • 스프링 통합 테스트 지원

정적 컨텐츠

출처- 김영한 스프링 입문강의

 

MVC,템플릿 엔진(Thymeleaf)

출처- 김영한 스프링 입문강의

@ResponseBody

  • viewResolver를 사용하지 않음
  • HTTP의 BODY에 문자 내용을 직접 반환해준다.
  • @ResponseBody를 사용하고, 객체를 반환하면 객체가 JSON으로 변환된다.

출처- 김영한 스프링 입문강의

  • @ResponseBody사용
    • HTTP의 BODY에 문자 내용을 직접 반환
    • viewResolver 대신에 HttpMessageConverter 동작
    • 기본 문자 처리
      • StringHttpMessageConverter
    • 기본 객체 처리
      • MappingJackson2HttpMessageConverter
    • byte처리 등등 기타 여러 HttpMessageConverter가 기본등록
      • 클라이언트의 HTTP Accept헤더와 서버의 컨트롤러반환 타입정보를 조합해 HttpMessageConverter가 선택된다.

참고 - 김영한 스프링입문 강의

'Frameworks > Spring' 카테고리의 다른 글

[Spring] BeanDefinition  (0) 2025.04.11
[Spring] 스프링 컨테이너 & 빈  (0) 2025.04.11
[Spring] Ioc,DI,Container  (0) 2025.04.11
[Spring] 객체 지향 프로그래밍  (0) 2025.04.11
[Spring] Bean  (0) 2025.04.11