Study/spring 39

[Spring] MVC 패턴 정의 및 Spring Boot MVC 구조 예제

MVC 패턴에 대한 설명과 Spring Boot에서 MVC 프로젝트를 생성하는 예제를 소개드리겠습니다. MVC 패턴이란?MVC 패턴이란 애플리케이션의 구성요소를 모델-뷰-컨트롤러로 나누어 개발하는 방식입니다.MVC 정의 바로가기 Model데이터와 비즈니스 로직을 관리하는 역할입니다.데이터베이스와 통신하거나 데이터를 가공해 Controller나 View에 전달합니다.View사용자 인터페이스(UI)를 담당합니다.사용자에게 데이터를 보여주거나 입력을 받을 수 있는 화면 요소로 구성되어있습니다.ControllerModel과 View를 연결하는 중개자 역할입니다.사용자 요청을 받아 Model에서 데이터를 가져오고 View로 전달합니.  MVC 패턴의 장단점은?장점Model, View, Controller가 각각 ..

[Java] Spring Boot jar 실행 옵션 정리(profile, port, 외부 properties)

많이 사용되는 실행 옵션Spring Boot jar 파일을 실행할 때 많이 사용되는 옵션은 다음과 같습니다. java -jar : 기본적인 jar 파일 실행 명령어입니다.java -jar .jar --server.port=8081 : 기본 포트 대신 다른 포트로 애플리케이션을 실행합니다.java -jar .jar --server.port=8081 --spring.profiles.active=prod : 특정 프로파일을 활성화합니다.java -jar .jar --spring.profiles.active=prod -Dspring.profiles.active=prod : -D 옵션을 사용해 프로파일을 설정할 수도 있습니다.java -jar .jar -Dspring.profiles.active=prod-D 옵션..

[Windows][Java] VSCode Spring Boot 프로젝트 생성, 실행 방법

VSCode Spring Boot 프로젝트 생성1. Extension 설치VSCode에서 스프링 부트 프로젝트를 생성하려면 Extension을 설치해야합니다.Spring Boot Extension Pack을 설치하면 Spring Boot Tools와 Spring Initializer Java Support, Spring Boot Dashboard까지 모두 설치됩니다.  2. Spring Boot 프로젝트 생성Ctrl + Shift + P를 누르거나 상단바 View -> Command Palette를 선택합니다.Spring Initializer를 검색하면 Create a Maven Project, Create a Gradle Project가 나오는데, 원하는걸로 진행하면 됩니다.여기서는 Maven으로 진행..

[Java] Spring @RequestParam 배열, 리스트 값 받기

Spring의 @RequestParam으로 배열이나 리스트 값 받는 방법입니다. @RequestParam 배열 받기RequestParam을 사용해서 배열을 받는 예제입니다.@GetMapping("/request-param")public String getRequestParamArray(@RequestParam String[] values) { return Arrays.toString(values);} 배열 변수에 @RequestParam을 추가하면 됩니다.요청할 때는 다음과 같이 요청합니다.GET http://localhost:8080/request-param?values=123&values=456 @RequestParam 리스트 받기리스트를 받을 때도 동일합니다.@GetMapping("/reque..

[Java] Spring @PathVariable null 값 유효성 검사 방법

Spring 컨트롤러에서 @PathVariable로 null 값을 받는 경우 처리하는 방법입니다.Spring Boot 3 버전(3.2.4)에서 진행하였습니다. @PathVariable 값이 null로 들어오는 경우@PathVariable에 null이 들어오면 다음과 같은 응답값을 확인할 수 있습니다.import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class PathVariableController..

[Java] Spring Boot 3 버전 2.7 버전으로 낮추기

현재는 스프링부트 2.7버전이 공식적으로 지원이 종료되어 start.spring.io(Spring initializr)를 통해 이전 버전의 프로젝트를 생성할 수 없습니다. 3.x 버전의 스프링 부트 프로젝트를 2.x 버전으로 다운그레이드하는 방법에 대해 설명드리겠습니다(Maven, Gradle).프로젝트 생성 및 다운그레이드 진행에 인텔리제이를 사용했습니다. 프로젝트 생성우선 스프링부트 3버전 프로젝트를 생성합니다.프로젝트 이름, 자바 버전 등 원하는 대로 설정합니다.3버전이기 때문에 자바 버전은 17버전 이상이어야 합니다. 스프링 부트 버전은 3.3.1 버전을 선택하겠습니다.다운그레이드 할 예정이라 버전은 어떤것을 해도 상관은 없습니다.웹 서버 실행을 위해 spring-web 의존성을 추가했습니다.Fi..

[Java] STS 4 Spring Boot 3 프로젝트 생성 방법(Gradle, Maven)

STS를 사용해서 스프링 부트 3 프로젝트를 생성하는 방법입니다.Maven, Gradle 둘다 동일한 방법으로 생성합니다. 스프링 부트 프로젝트 생성Create new Spring Starter Project로 진행하셔도 되고, File > New > Spring Starter Project로 진행하셔도 됩니다. 프로젝트 생성 버튼을 누르면 스프링 부트 설정 창이 나옵니다.각 항목의 의미는 다음과 같습니다.Name은 프로젝트 폴더의 이름입니다. Language는 스프링 부트에서 사용할 언어입니다. Java, Kotlin, Groovy 중 원하는 언어를 선택하면 됩니다.Type은 빌드할 도구입니다. Gradle, Maven 중 원하는 도구를 선택합니다.Group은 패키지 이름입니다. 보통은 프로젝트 도메인..

[Java] STS 4 Spring Boot 3 프로젝트 import 방법(Gradle, Maven)

STS4에서 Maven이나 Gradle 스프링부트 프로젝트를 import하는 방법입니다.스프링 프로젝트 버전은 3버전입니다. 프로젝트 importMavenFile > Import > Maven > Existing Maven Projects에서 진행하겠습니다.꼭 Existing Maven Projects에서 진행하지 않으셔도 괜찮습니다.File > Open Projects from File System(File > Import > General  > Projects from Folder or Archieve)메뉴에서 import를 진행하셔도 됩니다. import 할 maven 프로젝트를 선택하고 Finish 버튼을 누릅니다. Finish 후 조금 기다리면 import가 완료됩니다. Maven 스프링 부트 ..

[Java] Spring Boot 3 maven, gradle jar 파일 생성 명령어

명령어를 사용해서 스프링 부트 프로젝트를 빌드하는 방법입니다.예시 프로젝트는 Spring Boot 3버전을 사용했고, 윈도우 환경에서 빌드를 진행하였습니다. Maven jar 파일 생성, 배포mvnw 파일이 있는 경로에서 터미널을 열어 명령어를 실행합니다.# 셋 중 아무거나 사용해도 괜찮음mvn clean package.\mvnw clean package./mvnw clean packagemaven clean package는 maven clean과 maven package를 같이 사용한다는 의미입니다.maven clean을 하면 이전에 생성된 jar 파일이 제거됩니다. Spring Boot 3 프로젝트를 빌드할 때는 자바 버전이 17버전 이상이어야 합니다.만약 JAVA_HOME 환경변수에 설정된 자바의 ..

[Java] Spring Boot 3 @Autowired 어노테이션 사용법, 예시

@Autowired란?@Autowired는 스프링 컨테이너에서 관리하고있는 의존성 객체들을 주입받기 위해 사용하는 어노테이션입니다. @Autowired 사용법예제를 통해 @Autowired 어노테이션 사용법을 설명드리겠습니다.@Autowired 어노테이션은 필드, 메소드, 생성자 등 여러 곳에서 사용 가능합니다. 필드 주입@Autowiredprivate AutowiredService service;  생성자 주입private final AutowiredService service;@Autowiredpublic AutowiredController(AutowiredService service) { this.service = service;} setter 주입private AutowiredService ..

728x90