JAVA 17설치 및 intellij 및 Spring initializer

하히호호·2024년 3월 2일
0

인프런 김영한 선생님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술의 강의의 초반 간단하게
intellij와 java17버전을 설치가 기본 준비이다.
최근에는 스프링부트를 사용해 프로젝트를 만든다.

java SE JDK 설치 > JAVA 환경 변수 설정 > IDE 설치 순서이다.

java17 설치

다운을 해본 경험이 있어 쉽다고 쉬울 것이라 생각했는데, 화면 구성이 너무 복잡하게 되어있어 검색하며 찾아봤다. 그 전에 자바에 대해 간략하게 알아보자.

java

java는 객체지향 언어로 가장 큰 특징은 플랫폼에 독립적인 언어이다.

Write once, run anywhere
한 번 작성한 코드를 여러 플랫폼에서 실행할 수 있다. JVM이 각 플랫폼에 맞게 바이트 코드를 해석하고 실행하기 때문이다.

다양한 용도로 사용되는데 주로 웹 애플리케이션 개발, 앱(안드로이드)개발, 서버 개발 등에 사용된다.


  • 코드 작성 : 소스 코드는 . java 확장자를 가지며, 일련의 java 문법에 맞게 작성된다.

  • 컴파일 : 작성한 코드를 컴파일러에게 전달한다.

    컴파일러는 소스 코드를 기계어 아닌 중간 단계의 바이트 코드(bytecode)로 변환한다. 바이트 코드는 JVM에서 실행된다.

  • 클래스 파일 생성 : 컴파일된 바이트 코드는.class 확장자를 가지는 클래스 파일로 저장된다. 이 클래스 파일은 JVM이 읽을 수 있는 형식(바이크코드)이다.

  • 클래스 로딩 : JVM은 실행할 클래스 파일을 로딩한다. 필요한 클래스 파일은 동적으로 로딩되며, 이때 클래스 파일의 바이트 코드가 JVM에 의해 메모리에 로드된다.

  • 바이트 코드 해석 및 실행 : JVM은 로드된 바이트 코드를 해석하고 실행한다. JVM은 바이트 코드를 해당 운영체제의 기계어로 변환하여 실행한다.


java는 가비지 컬렉션(Garbage Collection) 기능을 제공하는데 이는 메모리를 자동으로 관리하는 기능이다. java에서 객체가 동적으로 할당되며 사용이 끝난 객체는 메모리에서 해제해야한다. 매번 개발자가 메모리를 해제하는 것은 번거로우며 오류가 발생할 가능성이 있다.

JDK(java Development Kit)

# java 프로그램을 개발하기위해 필요한 도구 모음!!

  • java SE
    표준 자바 플랫폼으로 표준적인 컴퓨팅 환경을 지원하기 위한 JVM규격 및 API 집합을 포함한다.
  • java EE
    java SE에 웹 어플리케이션 서버에서 동작하는 기능을 추가한 플랫폼이다..
    이 스펙에 따라 제품을 구현한 것을 웹 어플리케이션 서버(WAS)라 한다.
  • java Me
    제한된 자원을 가진 휴대전화, PDA 에서 java 언어를 지원하기 위해 만든 플랫폼이다.

JDK에는 javac, java, jdb, JRE, JVM으로 구성되어 있다.

java SE 17 설치

오라클 로그인 과정이 굉장히 귀찮다. 더 간편하게 나운 받을 수 있는 링크다.
(ㅠㅠ 업데이트 된걸 나중에 알게되어 버전11 > 17로 다시 다운받았다 )

jdk.java.net
위의 링크를 누르고 왼쪽 메뉴바의 원하는 버전을 누른 후

사진에 형광펜 표시된 부분을 클릭해주면 다운이 진행된다.

다운을 받으면 위와 같이 바로 사용할 수 있다.
다운받은 파일의 해당 경로를 복사한 후 (원하는 곳에 압축푼 후 복사!!!!)

윈도우 > 시스템 환경 변수 편집에 들어간다.

고급 > 환경 변수버튼에 들어가서

사진과 같이 새로 만들기에 JAVA_HOME이란 이름을 넣고
위에서 복사한 경로를 붙여준다.

이후 path를 찾아 더블클릭한 후

사진과 같이 %JAVA_HOME%\bin 경로를 설정해 준다. (!!오타 주의!!)

위의 과정을 모두 했다면 정상적으로 작동하는지 확인을 해보자.
우선 CMD창을 열어준다.

이와 같이 나오면 설치 완료!!

intellij Community 설치

인텔리제이 무료 버전을 설치했다. 예전 듣던 국비에서는 이클립스를 썼기에 익숙하긴하지만 하나하나 설정해야하는 것들이 많기도 하고 많은 개발자분들이 인텔리제이가 편하다고 하여 사용하고자 한다.

Spring initializer

Spring initializer 주소

위와 같이 Dependencies(스프링 부트 기반 프로젝트 라이브러리)를 선택해준다.
+Spring Web : 웹 프로젝트때 사용하는 라이브러리
+Thymeleaf : html을 만들어주는 템플릿 엔진

모두 선택했으면 GENERATING 버튼 누르면 다운 받아진다.
원하는 공간에 압축을 푼 다음 intellij를 들어간다.

open을 누른 후 앞서 받은 파일의 위치를 찾아, build.gradle을 열어준다.

다운로드를 받기까지 약간의 시간이 걸린다. 모두 다운로드가 되었다면 프로젝트를 진행하면 된다.


!!!코드 훓어보기!!!


위와 같은 틀을 구성하고있다.

src를 보면 크게 main파일과 test파일이 있다.

  • main파일에는 사진과 같이 java와 resources파일이 있다.
    java파일에는 java와 관련된 코드만 들어가있으며 resources 파일에는 그 이외의 파일(html 등)이 들어가 있다.

  • test파일은 테스트 코드와 관련된 코드들이 들어있다.

build.gradle 파일

##gradle은 나중에 깊게 알아도 상관없지만 버전을 설정하고 라이브러리를 땡겨오는 것이라고 인지하고 있자.

plugins {
	id 'java'
	id 'org.springframework.boot' version '3.2.3'
	id 'io.spring.dependency-management' version '1.1.4'
}

group = 'hello'
version = '0.0.1-SNAPSHOT'

java {
	sourceCompatibility = '17'
}

repositories {
	mavenCentral() ; 아래와 같은 라이브러리 다운 받는 사이트
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
	useJUnitPlatform()
}

gitigonore 파일

git에 필요한 소스코드만 올라갈 수 있도록 해주는 코드 파일이다.
빌드된 결과물과 같은 부가적인 것들은 올라가면 안된다.

profile
읽히는 코드를 짜고싶습니다.

0개의 댓글