공부/[인프런] 스프링 입문

[인프런] 스프링 입문 | 섹션 1. 프로젝트 환경설정

티시즌 2023. 6. 27. 01:12

[01 프로젝트 생성]

원래 이클립스, JDK 20을 쓰지만 강의 수강을 위해 IntelliJ, JDK 11을 설치했다.
https://start.spring.io/

최대한 강의 환경과 비슷하게 선택했다.


프로젝트를 열었을 때, 내 경우엔 처음에 이런 오류가 떴다. 
강의 중 강사님이 "기본 설치에 9분이 걸린다" 고 하는데, 뭔가 설치되는 기미가 안 보이면 오류가 있는 것이다.

Caused by: BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 64
	at org.gradle.groovy.scripts.internal.DefaultScriptCompilationHandler.compileScript(DefaultScriptCompilationHandler.java:139)
	at org.gradle.groovy.scripts.internal.DefaultScriptCompilationHandler.compileToDir(DefaultScriptCompilationHandler.java:95)
	at org.gradle.groovy.scripts.internal.BuildOperationBackedScriptCompilationHandler$2.run(BuildOperationBackedScriptCompilationHandler.java:54)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
	at org.gradle.groovy.scripts.internal.BuildOperationBackedScriptCompilationHandler.compileToDir(BuildOperationBackedScriptCompilationHandler.java:51)
	at org.gradle.groovy.scripts.internal.FileCacheBackedScriptClassCompiler$CompileToCrossBuildCacheAction.execute(FileCacheBackedScriptClassCompiler.java:191)
	at org.gradle.groovy.scripts.internal.FileCacheBackedScriptClassCompiler$CompileToCrossBuildCacheAction.execute(FileCacheBackedScriptClassCompiler.java:171)
	at org.gradle.groovy.scripts.internal.FileCacheBackedScriptClassCompiler$ProgressReportingInitializer.execute(FileCacheBackedScriptClassCompiler.java:212)
	at org.gradle.groovy.scripts.internal.FileCacheBackedScriptClassCompiler$ProgressReportingInitializer.execute(FileCacheBackedScriptClassCompiler.java:195)
	at org.gradle.cache.internal.DefaultPersistentDirectoryCache$Initializer.initialize(DefaultPersistentDirectoryCache.java:100)
	at org.gradle.cache.internal.FixedSharedModeCrossProcessCacheAccess$1.run(FixedSharedModeCrossProcessCacheAccess.java:86)
	at org.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock.doWriteAction(DefaultFileLockManager.java:216)
	at org.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock.writeFile(DefaultFileLockManager.java:206)
	at org.gradle.cache.internal.FixedSharedModeCrossProcessCacheAccess.open(FixedSharedModeCrossProcessCacheAccess.java:83)
	at org.gradle.cache.internal.DefaultCacheAccess.open(DefaultCacheAccess.java:139)
	at org.gradle.cache.internal.DefaultPersistentDirectoryStore.open(DefaultPersistentDirectoryStore.java:89)
	... 166 more


제공해 주시는 FAQ를 참고해서 프로젝트를 설정하면 간단히 해결된다.
https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit

 

자주 하는 질문

인프런 스프링, JPA 강의 자주 하는 질문 목차 목차 질문하기 질문하는 방법 질문용 파일 업로드 - 구글 드라이브 업로드 공통 강의 코스 문의 학습 방법 문의 블로그 정리, 깃허브 업로드 실행중

docs.google.com

"마지막으로 프로젝트를 모두 닫은 다음 File -> Open -> 해당 프로젝트의 build.gradle을 선택해주세요. 그 다음에 선택창이 뜨는데, Open as Project를 선택해주세요." 라고 되어 있는데, 나는 설정 apply만 하고 프로젝트 reload했더니 작동했다.

강의를 계속 들으니 16:12 경에 Gradle JDK를 설정하는 것을 보여주시는데, 프로젝트 JDK만 설정해도 오류가 해결되는 것 같기도 하다.


실행이 잘 되었다.


[03 View 환경설정]

spring 홈페이지에서는 경로를 못 찾아서 그냥 링크를 눌러 접속했다.
https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/index.html

 

Spring Boot Reference Documentation

The reference documentation consists of the following sections: Legal Legal information. Documentation Overview About the Documentation, Getting Help, First Steps, and more. Getting Started Introducing Spring Boot, System Requirements, Servlet Containers,

docs.spring.io


컨트롤러를 설정했다.
리턴 값이 문자라면 뷰 리졸버 viewResolver 가 문자.html 파일을 찾아서 화면을 표시해준다.

확인을 위해 일부러 매핑, 메소드명, 리턴값을 다 다르게 설정해 보았다.


[04 빌드하고 실행하기]

파워셀에서 빌드 후 실행시켰다.

정상적으로 잘 표시되는 것을 볼 수 있다.