개발일기
Spring 초기 셋팅 본문
1.1 adoptopenjdk/openjdk 저장소 추가
$ brew tap adoptopenjdp/openjdk
1.2 cask가 없다면 설치
$ brew install cask
1.3 OpenJDK 8 과 11 설치
$ brew install --cask adoptopenjdk8
$ brew install --cask adoptopenjdk11
vi .bash_profile 입력하여 파일에 진입해준 후 i를 눌러 write모드로 전환해준다.
글 바로 위에 사진처럼 글자들을 입력 해준다. 그 후 :wq로 저장해주고 빠져 나와준다.
soruce ~/.bash_profile로 들어가서 위에서 설정해준 명령어 setJava11, setJava18을 입력하면 해당 버전이 바뀌게 된다.
이렇게 자바 환경 설정은 마무리~!
스프링 부트 Starter 사이트로 이동해서 스프링 프로젝트 생성: https://start.spring.io
사이트를 들어가서 프로젝트를 만들면 된다. 이 사이트는 스프링 부트 관련 기반으로 스프링을 만들어주는 사이트이다.
프로젝트 만드는 법
project가 maven project냐 Gradle project인지에 대해 나온다.
Maven,gradle이 뭐냐면 필요한 라이브러리를 땡겨서 가져오고 애가 빌드하는 Life cycle 까지 다 관리해주는 것이다.
과거에는 Maven을 많이 사용했다. 요즘에는 근데 거의 다 gradle을 쓰는 추세이다.
legacy project등은 Maven이 많은데 요즘 추세는 다 gradle로 넘오는 추세이다.
Spring 라이브러리 자체도 예전에는 Maven으로 하다가 Gradle로 하는 추세 -> 프로젝트를 Gralde로 선택하는 이유
- 언어 선택 Java
- 그 다음 Spring Boot의 버전을 설치해야함 (SNAPSHOT)은 아직 만들고 있는 버전이다. M1이나 이런것들은 아직 정식 Release된 버전이 아니다. 그래서 정식 Release중에서 가장 좋은 2.3.1을 선택하였다.
내가 보는 화면에서는 그림과 같이 2.7.3이 가장 좋은 것이였다.
- 다음은 ProjectMeta라는 것이 있다.
Group에는 보통 회사 프로젝트의 명이 들어간다.
Artifact는 빌드 되어서 나오는 어떤 결봐물 빌드명
Dependencies
지금 내가 스프링 부트 기반으로 프로젝트를 할 것인데 어떤 라이브러리를 가져다가 프로젝트에서 땡겨와서 사용할 것이냐고 물어봐주는 곳이다.
우리는 우선 Web project를 만들 것이기 때문에 Spring web을 추가
그리고 우리는 html을 만들어주는 것이 필요한데 이것을 위해서 Thymeleaf를 사용할 것이다.
Generate라는 버튼을 눌러서 다운을 받자.
Intellij에서 build.gradle을 open해주자.
intellij를 실행시켜준 모습이다.
프로젝트를 처음 다운 받으면 외부에서 라이브러리를 다운 받는다. 화면은 위에와 같다.
gradle의 wrapper가 있다. 이게 그래들을 사용하는 폴더이다.
src를 보면 main과 test가 있다. 요즘은 maven을 써도 gradle을 써도 기본적으로 main이라는 폴더와 test라는 폴더가 기본적으로 나누어짐 이게 표준화이다.
main으로 가면 main밑에 java와 실제 소스 파일들이 있다.
그러고 test는 test코드들과 관련된 소스코드들이 여기 들어간다.
여기 보았듯이 test코드가 요즘 개발 trend 에서는 굉장히 중요하다는 것을 알 수 있다.
여기에서 resources 폴더는 실제 소스 코드 파일을 제외한 xml이나 properties(설정파일) 이런 것들이 들어가 있다.
html도 여기에 들어가게 된다. <-templates안에 들어감
자바 파일을 제외한 나머지 다 resources
Build.gradle <- start.io가 나오면서 Build.gradle을 귀찮게 일일히 설정 할 필요가 없어졌다.
Spring Boot가 나오면서 추가된 기능으로 엄청 편해짐
그래들이 버전 설정하고 라이브러리 땡겨오는 정도만 알고 있자.
dependencies를 보면 spring-boot-starter-thymeleaf , web 두가지가 라이브러리가 추가 된 것을 알 수 있다.
main 옆에 세모 표시를 눌러서 Run 을 시키자
에러가 발생하였다.
start.io에서 프로젝트를 생성하고 인텔리제이에서 프로젝트를 실행하면 위에와 같은 에러가 나오는데 생성한 프로젝트가 java version17 이여서 gradle과 호환이 되지 않아서 발생한 문제이다. 따라서 버전 11로 교체해야한다.
start.io를 java11로 다시 재설정 해주었다.
Run을 눌러서 실행을 다시해보니깐 Tomcat started on port 8080이라고 나온다.
이제 웹 브라우저를 열어서 localhost:8080이라고 입력하자
에러 페이지가 나오는 모습을 확인 할 수 있는데 이는 스프링 초기 설정을 성공한 화면이다.
package hello.hellospring;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HelloSpringApplication {
public static void main(String[] args) {
SpringApplication.run(HelloSpringApplication.class, args);
}
}
SpringApplication.run해가지고 HelloSpringApplication클래스를 넣어주면 안에다가 SpringApplication이 실행이 된다.
Spring은 톰캣 웹 서버를 내장하고 있다.
preference로 들어가면 gradle이라고 검색하자 그러면 Build Execution Deplyment가 있는데 gradle을 들어가서 Build and run using Intellij로 바꾸면 된다.
Intellij로 바꾼 모습 이렇게 해야 gradle을 통해서 run을 하면 가끔 느리게 될 때가 있다. 그래서 인텔리제이로 바꿔주면 인텔리제이에서 바로 띄어서 보여준다.