계기
많은 회사에서 스프링을 사용한다는 사실은 모든 개발자들이 아는 사실입니다.
저도 우리나라에서 가장 큰 커뮤니티를 가진 스프링을 한 번 접해보고 싶은 마음을 항상 가지고 있었어요.
그러던 찰나에 유데미에서 글또를 통해 강의를 지원해 주셨어요.
강의 이름은 바로..! [옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트]
스프링을 맛보는 것이 목표였던 저에게 아주 적합한 강의라고 생각이 들었습니다.
프로젝트 생성
start.spring.io 사이트를 통해 스프링 프로젝트를 생성합니다.
저는 웹사이트에서 프로젝트를 생성하는 프레임워크를 처음 사용해 보았어요.
대체로 cli나 ide를 사용했거든요..!
(Flutter - flutter create app_name
, React - npx create-react-app app_name
, NestJS - nest new app-name
)
몹시 흥미롭습니다..!
Generate 버튼을 누르면 zip 파일로 다운로드됩니다!
Application 클래스를 실행하니 바로 localhost:8080에서 실행된 서버를 확인할 수 있는 모습입니다.
프로젝트를 생성하는 화면에서 가장 생소했던 부분은 Packaging 부분이었습니다.
- Jar는 내장 WAS인 톰캣을 포함하여 패키징 하기 때문에 JRE(Java Runtime Environment)를 통해 바로 실행이 가능한 상태입니다.
- War는 내장 WAS를 사용하지 않고 별도의 WAS에서 실행하고자 한다면 War로 패키징 하는 것이 좋습니다.
스프링 코어
여기부터 저는 정말로 모르는 단어들을 만나게 됩니다.
- IoC
- DI
- Spring Container
- Spring Bean
의존성 주입을 도와주는 라이브러리를 사용해 보신 분들이라면 쉽게 이해할 수 있는 개념이었습니다.
(물론 깊게 공부하려면 제대로 공식문서를 봐야 하겠지만요..!)
- IoC ⇒ 객체에 생애 주기에 대한 권한을 Spring에게 넘긴다.
- DI ⇒ 개발자가 필요한 객체들을 Spring이 주입해 준다.
- Spring Container ⇒ Spring이 관리하고 있는 객체들이 모여있는 곳이다.
- Spring Bean ⇒ Spring이 관리하고 있는 객체를 칭하는 말이다.
요청에서 데이터 받기
이후에는 본격적을 클라이언트와 통신하는 기능을 구현할 수 있었습니다.
Controller에서 적절한 URL 경로와 연결시키기 위한 여러 어노테이션을 배웠습니다.
RequestMapping
- value를 통해 맵핑할 URL을, method를 통해 맵핑할 요청의 method를 전달합니다.
또한, 서버가 요청에 포함된 데이터를 같이 받을 수 있는 어노테이션도 배웠습니다.
RequestParam
- name을 통해 읽고자 하는 parameter의 키를 찾습니다.
- url에 포함된 요소 중에 parameter를 읽습니다.
PathVariable
- value에 읽고자 하는 변수명을 입력하여 값을 찾습니다.
- url 경로 중 동적으로 받는 변수에 해당하는 부분을 읽습니다.
후기
java 혹은 백엔드 개발에 대해서 잘 모르시는 분들도 어렵지 않게 따라갈 수 있는 강의였습니다.
다른 언어로 백엔드 개발을 경험했던 저는 수월하게 들을 수 있었어요😊
아쉬운 점은 예제들이 실제 db와 연결하지 않고, map과 같이 자료구조로 대체한 점이었습니다.
프로젝트를 진행하려면 db와의 연결은 필수이기 그런 부분을 기대했던 저로서는 조금 아쉬웠어요.
그럼에도 강사님께서 긍정적인 에너지로 주요 개념들을 설명해 주시는데, 지루할 틈이 없었습니다.
이번 강의는 입문자들을 위한 강의라고 생각되는데, 이후에 초급자, 중급자를 위한 강의가 나온다면 어떻게 설명해 주실지 기대가 됩니다!
'기타' 카테고리의 다른 글
[글또 x 코드트리] 코드트리 대만족 한 달 사용 후기 (0) | 2024.03.02 |
---|