Back-End/Spring (SpartaCC)

[Spring] 스파르타코딩클럽 Spring공부(1) - Spring MVC

남건욱 2023. 6. 13. 10:19
반응형
Gradle
Gradle란?
< 빌드 자동화 시스템>

Gradle는 우리가 작성한 Java 코드를 설정에 맞게 자동으로 Build 해준다.

- groovy / kotlin 언어로 스크립트 작성이 가능하다.

- 필요로 하는 외부 라이브러리들을 dependencies 부분에 저장하면 Gradle이 해당 라이브러리를 외부 저장소에서 자동으로 다운로드해 온다.

- 다른 라이브러리들과 의존성을 자동으로 관리해 준다.

 

 

 

 

 

Client와 Server
  택배 네트워크
주소(IP) 서울시 **구 **로 **** 192.168.***.***
받는사람(포트) GunWook 8080

IP주소와 포트를 택배에 비교해 본 표이다.

우리가 택배를 받기 위해서는 실제주소와 받는 사람을 알려줘야 한다. 마찬가지로 네트워크도 정보를 요청하고 전달하려면 IP와 포트를 알려줘야 한다.

 

 

 

 

 

웹서버의 기본 동작 원리
1. 브라우저를 통해 HTTP Request로 웹사이트를 웹서버에 요청
2. 웹서버는 요청을 승인하고 HTTP Response를 통해 웹사이트 데이터를 브라우저에 전송
3. 브라우저는 서버에서받아온 데이터를 이용해 웹사이트를 브라우저에 그려냄

 

 

 

 

API
API (application programming interface)
- 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙

인터페이스 (interface)
- 서로 다른 두 개의 시스템, 장치 사이에 정보나 신호를 주고받는 경우의 접점이나 경계면

 

 

 

Spring
Spring 프레임워크는 2004년에 등장한 후 20년 가까이 사랑받으며 계속해서 업그레이드 해왔다.
현재는 버전 6.0 까지 등장한 아주 오래되고 강력한 프레임워크이다.

Spring 프레임워크는 AOP, IoC/DI 등과 같은 강력한 핵심 기능들을 보유 중이다. 하지만 이러한 기능들을 사용하기 위해서는 많은 xml설정이 필요했다. 그래서 이런 불편한 점을 개선하기 위해 2014년에 SpringBoot가 등장했다.

 

 

 

 

 

SpringBoot
SpringBoot는 기존의 xml설정 대신 Java의 애너테이션 기반의 설정을 적극적으로 사용하고 있기
때문에 무겁고 작성하기 힘들던 xml대신 애너테이션을 사용하여 아주 간편하게 설정이 가능하다.

- 기본적으로 개발에 필요한 설정 정보들을 일반적으로 많이 사용하는 설정 값을 default로 자동 설정해 준다.

- 외부 라이브러리나 하위 프레임워크들의 의존성관리가 쉬워졌다.

 

 

 

 

 

HTTP
HTTP (Hyper Text Transfer Protocol)
- 데이터를 주고 받는 양식을 정의한 "통신 규약"중 하나이다.
- 매우 범용적인 양식을 가지고 있고, 전 세계에서 제일 널리 쓰이는 통신 규약이다.
- 통신규약은 컴퓨터끼리 데이터르 주고 받을 때 정해둔 약속을 의미한다.

 

 

 

Lombok
Lombok은 자바 프로젝트를 진행하는데 거의 필수적으로 필요한 메서드/생성자 등을
자동 생성해줌으로써 코드를 절약할 수 있도록 도와주는 라이브러리다.

 

 

 

 

Spring MVC
MVC 패턴은 소프트웨어를 구성하는 요소들을 분리함으로써 코드의 재사용성과 유지보수성을 높이고,
개발자들 간의 협업을 용이하게 한다. 따라서 소프트웨어를 개발할때 MVC 패턴을 적용하여 구조를 
잘 설계하는 것이 중요하다.

Model

- 데이터와 비즈니스 로직을 담당.

- DB와 연동하여 데이터를 저장하고 불러오는 등의 작업 수행.

 

View

- 사용자 인터페이스 담당.

- 사용자가 보는 화면과 버튼, 폼 등을 디자인하고 구현.

 

Controller

- Model, View 사이의 상호작용을 조정하고 제어

- 사용자의 입력을 받아 Model에 전달하고, Model의 결과를 바탕으로 View를 업데이트.

 

 

 

 

정리

Spring Boot는 Spring을 더 사용하기 쉽게 하기 위해 나왔다. Spring을 사용하면 많은 기능들을 사용하여 웹서버 개발을 수행할 수 있다. HTTP Request를 서버에 요청하면 서버는 HTTP Response를 통해 응답하여 준다.

 

Java를 공부한 후 Spring에 대해 공부하기 시작했다. Spring을 사용하기 위해 설정할 것도 추가로 생겼고, 자바로 코딩할 때 오버라이딩할 때만 사용했던 @를 이제는 많이 쓰게 될 것 같다. 꾸준히 공부하여 Spring사용에도 익숙해지도록 해야겠다. 

 

 

반응형
프로필사진

남건욱's 공부기록