Spring

[Spring] 스프링이란?

Ls._.Rain 2024. 8. 16. 00:49

서버 개발을 하면서 다들 Spring 쓰니까 나도 쓴거지 정확히 이게 뭘 지원하는지 잘 몰라서 정리를 해본다.

 

 

Spring 이란?

 

Java 기반의 웹 프레임워크다. 

  • FrameWork : 웹 개발을 수월하게 할수 있게 제공하는 소프트웨어 개발환경
Spring Framework Spring Boot
톰캣 설치하고 안에 프로젝트 넣어줌 내장 톰캣 서버 사용
dependency 각각 호환버전 맞춰야함 starter를 통한 dependency 자동화

 

  • Spring Boot 3.0 버전의 등장 : Java 17이상을 지원
    • 그랄 VM 기반으로 스프링 네이티브 공식 지원
    • AOT 컴파일러 : 코드 최적화, 컴파일후 네이티브 코드로 제공, 네이티브 이미지로 컴파일이 가능 -> Java가 Binary 파일을 만들수 있다! -> 속도 향상!!
  • Java build tool
    • gradle : groovy 기반 (가독성 굿, 코드 간결)
    • maven : xml 기반

스프링 프로젝트 실행시키기

 

나뿐만 아니라 많은 사람들이(?) ㅎㅎ 사실 나만 그런건진 잘 모르겠지만 거의 IDLE을 사용해서 개발을 할것이고, 코딩한걸 실행시킬때 실행버튼을 누를것이다. 

개발자 답게(?) cli 명령어로 실행하는 방법을 정리해본다.

 

인텔리제이를 기준으로 프로젝트 Root 디렉토리에서 다음과 같은 명령어를 입력한다.

./gradlew build

> build 폴더가 생기고, 하위 디렉토리에 libs 디렉토리, jar파일 하나로 패키징 되어있는것을 확인할수 있다.

 

jar 파일이 있는 위치로 옮겨 간후 다음 명령어를 입력한다.

java -jar [생성된 jar 파일]

 

> 잘 실행된 모습

  • build 안하고 바로 실행시키고 싶다면?
./gradlew bootrun

 

바로 실행시킬수 있다.

 

** control + c 로 종료하는게 아니라면 백그라운드에서 계속 돌아갈수 있으니 유의해야한다!

 

build(패키징 후 실행) - 배포할때 사용! bootrun
build된 snapshot반영 실행
실시간 반영 X
코드 실시간 반영 실행

 

배포환경 설정

 

설정파일은 -(하이픈) 뒤의 단어만 인식한다.

  • 로컬 테스트 환경 : 8080 포트
  • 배포 환경 : 7777 포트

> 적용할 설정파일 설정

 

예상한 7777포트로 실행

 

아예 기초를 다시 한번 짚고 가게된 시간이 되었고, 난 아직 갈길이 멀구나... ㅎㅇㅌ!!!