카테고리 없음
spring boot 기초
goshek
2024. 10. 14. 14:43
빌드 도구
1. 빌드 도구의 정의
: 소스코드에서 애플리케이션 생성을 자동화 하기 위한 프로그램
: 코드를 사용하거나 실행가능한 형태로 컴파일, 코드 패키징, 테스트 실행등을 포함
2. 빌드 도구의 종류
Maven vs Gradle
1) Maven: 고정적이고 선형적인 단계의 모델을 기반
2) Gradle: 작업 의존성 그래프를 기반
3) 차이점(Gradle의 특징)
: Maven에 비해 가독성이 높고 설정이 간단
Maven에 비해 빌드와 테스트 속도가 빠름
postman 설치
: API 테스트를 위해 HTTP 요청을 보낼 수 있는 클라이언트 프로그램
cf) API
: 사용자와 서버가 통신을 하기 위한 인터페이스
- open API: 누구나 사용할 수 있도록 공개된 API
- REST API
: 주로 HTTP를 사용해 서버 client간에 데이터를 주고받을 수 있는 API
https://www.postman.com/downloads/ 접속
- 운영체제에 맞는 버전의 다운로드 버튼 클릭
줄 복사: Window: ctrl + d, MacOS: Cmd + d
실행: Window: shift + F10, MacOS: ^ + R
사용하지 않는 import문 삭제: Window: ctrl + alt + o, MacOS: ^ + option + o
인텔리제이 단축키
: 통합 검색: shift * 2
: 열려 있는 파일 리스트: Window: ctrl + e, MacOS: Cmd + e
1. 스프링 컨테이너
: 애플리케이션 내에서 객체의 생명주기와 설정을 관리
: 애플리케이션을 구성하는 빈들을 생성, 조립, 관리
> 제어의 역전(Ioc)을 실현
> 의존성 주입(DI)를 지원
2. 빈(Bean)
: 스프링 컨테이너가 관리하는 객체를 의미
: 개발자에 의해 명시적으로 정의ㅣ | 스프링에 의해 자동으로 감지되어 관리
> 주로 서비스, 리포지토리, 컨트롤러 등의 역할을 수행하는 컴포넌트로 사용
cf) 빈의 경우 클래스 이름의 첫 글자를 소문자로 바꿔 관리
: Book class의 경우 book 빈으로 저장되어 관리
: BookStore Class- bookStore 빈으로 저장되어 관리
+) 빈 선언 방법
xml 파일 사용, 애너테이션 사용(@Component, @Service, @Repository등), 자바 설정 클래스에서 @Bean 애너테이션 사용
2. 관점 지향 프로그래밍(AOP: Aspect Oriented Programming)
: 애플리케이션의 핵심 로직과 공통적인 관심사를 분리하여 관리하는 기법, 모듈화를 지향
> 로그, 보안, 트랜잭션 관리와 같은 공통적인 관심사를 핵심 비즈니스 로직과 분리하여 유지보수성과 코드 가독성을 향상시키는 프로그래밍 기법
이식 가능한 서비스 추상화(PSA: Portable Service Abstraction)
: 특정 기술에 의존하지 않고 다양한 환경에서도 동일하게 동작할 수 있는 스프링의 추상화
EX) 어떤 기술을 사용하든 일관된 방식으로 DB에 접근가능하도록 인터페이스를 지원
: JDBC, JPA등 어떠한 DB 접근 방식이던