아래 글은 스프링 프레임 워크 첫걸음 책을 기반하여 작성한 글입니다.
2-1 자바 기초 지식 복습
(1) 인터페이스란?
자바에서 클래스에 포함하는 메서드의 구체적인 내용을 작성하지 않고 상수와 메서드 타입만 정의한 것.
- 인터페이스 선언하기
public interface Greet{
void greeting();
/*public abstract void greeting();과 동일함*/
int greet;
/*public static final greet;와 동일함*/
}
인터페이스 안의 함수는 추상메서드로 인식함.
- 인터페이스 구현하기
public class MorningGreet implements Greet{
@Override
public coid greeting(){
System.out.println("좋은 아침입니다~")
}
}
implements: 인터페이스를 상속 받을 때 사용
@Override: 상속 받은 클래스에서 메서드를 재정의 하는 것을 알리는 역할을 함.
(2) 리스트란?
- 컬랙션(Collection): 복수의 데이터를 더 쉽게 사용할 수 있게 도우는 클래스
- 컬랙션 종류(3)
리스트(list) | 순서대로 데이터 저장, 데이터의 중복 허용. |
세트(set) | 순서를 유지 않는 집합, 데이터의 중복 허용 X. |
맵(map) | 키와 값의 쌍으로 이루어진 데이터 집합, 순서를 유지 않는 집합, 키의 중복은 허용하지 않지만 값의 중복은 허용. |
- List 인터페이스의 구현 클래스: ArrayList, LinkedList
(3) 리스트 프로그램 만들기
package chapter02;
import java.util.ArrayList;
import java.util.List;
public class ListExercise {
public static void main(String[] args){
//String 타입을 저장할 List를 준비
List<String> names = new ArrayList<>();
//데이터 넣기
names.add("홍길동");
names.add("김선비");
names.add("James");
//출력
for (String name: names){
System.out.println(name);
}
}
}
제네릭: 데이터 타입을 일반화하는 것을 의미. <String>
2-2 웹 애플리케이션 만들기의 필수 지식 확인
(1) 클라이언트와 서버
서버가 제공한 서비스를 클라이언트가 사용
(2) 브라우저
인터넷을 사용할 떄 이용하는 소프트웨어
(3) 웹 애플리케이션
인터넷을 통해 사용되는 응용 프로그램
(4) 웹 서버
클라이언트의 요청을 받으면 웹 애플리케이션을 배포하는 서버
(5) HTTP 통신(프로토콜)
클라이언트와 웹서버의 상호작용하는 방법
- HTTP 통신의 흐름
① 클라이언트가 브라우저에 URL 입력
② 클라이언트가 웹서버로 HTTP 요청이 전송
③ 웹서버는 이를 받아 HTTP 응답을 클라이언트에게 전송
④ 브라우저는 받은 응답을 표시하고 클라이언트가 이를 확인
(6) GET 메서드와 POST 메서드
모두 HTTP요청의 한 유형임.
- GET 메서드: 브라우저에서 웹 서버로 값을 전달할 때 URL 뒤에 값을 더해 보내는 방식.
URL 뒤에 붙든 정보를 '쿼리 스트링' 혹은 '쿼리 문자열'이라고 함.
쿼리스트링의 특징 3가지:
- URL 끝에 "?"가 붙어 쿼리 스트링의 시작을 나타냄.(예: domain.com/?)
- 형식은 '이름=값'. (예: domain.com/?name=value)
- 여러 값을 전달하려면 '&'로 연결 (예: domain.com/?name=value&tel=010)
- POST 메서드: 웹서버에 값을 보낼 때 '요청 본문(request body)'에 값을 넣어서 보내는 방법.
이는 입력한 내용을 URL에 표시하고 싶지 않거나 많은 양의 값을 보내는 데 적합함.
피우다 공모전 할 때 주구장창 쓴 게 생각난다..!
2-3 개발에 사용하는 편리한 라이브러리와 도구
(1) Lombok이란?
Lombok 라이브러리를 사용하면 getter나 setter 등의 코드를 작성하지 않아도 자동으로 구현해줌.
(2) Gradle이란?
빌드('요구된 실행 환경에서 동작할 수 있는 형식에 애플리케이션이나 라이브러리를 조립하는 것') 도구.
빌드 도구의 반복적인 작업(5)
- 필요한 라이브러리를 레포지토리에서 다운로드
- 소스코드 컴파일
- 테스트 실행해 보고서 출력
- 클래스 파일의 아카이브를 생성
- 아카이브를 스테이징 환경 등에 배포
'Back-end > Spring' 카테고리의 다른 글
[Spring] chapter05 MVC 모델 알아보기 (0) | 2023.07.22 |
---|---|
[Spring] chapter04 데이터베이스 작업 (0) | 2023.07.21 |
[Spring] chapter03 스프링 프레임워크의 핵심 기능 알아보기 (0) | 2023.07.13 |
[Spring] chapter01 스프링 프레임워크 알아보기 (2) | 2023.07.11 |
[Spring] (0) | 2023.07.10 |