본문 바로가기

스터디/Spring Boot

(4)
RDBMS, NoSQL이란 RDB란?사용자와 DB사이에서 사용자의 요구에 따라 데이터를 생성해 주고, DB를 관리하는 시스템이다.RDB란 관계형 데이터 모델에 기초를 둔 데이터베이스다.관계형 데이터 모델이란 데이터를 구성하는데 필요한 방법 중 하나로 모든 데이터를 2차원의 테이블 형태로 표현해 준다.쉽게 말하면 각 데이터를 ‘테이블’이라는 표형태의 구조에 저장한다.데이터베이스에 들어오는 값들을 순차적으로 차곡차곡 쌓아가는 방식이다.Java의 개념 중 스택의 개념과 비슷하다고 보면 좋을 것 같다.스택이란 LIFO(Last In First Out)처럼 순차적으로 값을 추가하고 삭제하는 ArrayList 같은 배열기반 컬렉션이 적합하다.이러한 구조 덕분에 함수호출이나 수식 계산에 사용된다.[MySQL을 활용한 DB 예시]RDB의 장점은..
모놀리식 아키텍처 소개크게 보면 마이크로서비스 아키텍처는 마이크로서비스라는 작은 단위의 컴포넌트로 구성되어 있다.서비스 전체 기능을 독립된 작은 단위로 나누어 분리하고, 각각의 컴포넌트는 독립된 시스템 형태로 개발하고 운영한다.독립된 마이크로서비들은 전체 서비스와 분리해서 개발할 수 있으므로 서비스 변화에 비교적 자유롭다. 그러므로 민첩한 대응이 가능하다. 또한 독립성과 민첩성을 확보한 마이크로서비스 아키텍처는 대규모 서비스에서 여러 장점이 발현된다.보통 마이크로서비스 아키텍처와 비교해서 설명하는 것으로 모놀리식 아키텍처가 있다. 모놀리식 아키텍처란?위의 사진처럼 하나의 시스템이 서비스 전체 기능을 처리하도록 설계한 것으로, 과거부터 현재까지 흔히 볼 수 있는 아키텍처다.모놀리식 아키텍처는 전통적인 개발 방식으로 하나의 ..
[Spring Boot] JPA란 JPA : 자바 표준 인터페이스로 객체와 관계형 데이터베이스 사이의 매핑을 처리하는 기술이다.주로 객체를 데이터베이스에 저장하고 검색하는 데 사용된다.이때 데이터에 해당하는 객체를 엔티티 객체라는 것으로 다루고 JPA로 이를 DB와 연동, 관리Spring Data JPA는 자동으로 객체를 생성하고 이를 통해서 예외 처리등을 자동으로 처리하는 인터페이스다.@Entity // JPA를 사용하여 데이터베이스와 연동하겠다.@Getter@Builder@AllArgsConstructor@NoArgsConstructor@ToStringpublic class Board extends BaseEntity { /* @Id는 pk(Primary Key)로 정의하는 의미 @G2neratedBalue(stra..
[Spring Boot] 스프링 부트란? [스프링 부트란?]스프링 부트는 스프링에서 파생된 여러 서브 프로젝트에서 시작해서 완전한 메인 프로젝트가 되버린 케이스이다.스프링 부트의 중요한 특징으로 자동설정이 있다.데이터베이스와 관련된 모듈을 추가하면 자동으로 데이터베이스관련 설정을 찾아서 실행한다.별도의 서버 설정 없이 개발 및 실행이 가능하다.스프링 MVC에서는 JSP 대신 Thymeleaf라는 템플릿 엔진을 활용하는 경우가 많다.또한 MyBatis도 사용 가능하지만, JPA를 주로 이용한다.스프링 부트에서는 main()메서드를 통해 단독으로 실행이 가능하고 자동으로 내장된 톰캣이 실행된다.서블릿과 스프링은 root-context, servlet-context.xml파일을 따로 만들어서 빈을 설정해주었지만,스프링 부트는 application.p..