[스프링 부트 3 백엔드 개발자 되기] 6. 블로그 기획 및 API 만들기
·
Backend
API와 REST APIAPI를 구성한다는건 스프링의 3계층인 컨트롤러, 서비스, 리포지토리를 구성하는 것과 같다. URL을 구성하는 것이 API의 전부는 아니다. URL을 통해 들어온 요청을 처리하는 것까지가 API의 역할이다. 엔티티와 리포지토리 구성하기1️⃣ 엔티티 만들기 JPA를 통해 데이터베이스와 연결할 엔티티 객체를 만든다. @Entitypublic class Article { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) // auto_increment @Column(name = "id", updatable = false) private Long id; @Column(name = "title", nullabl..
[스프링 부트 3 백엔드 개발자 되기] 4. 스프링 부트의 구조
·
Backend
스프링 부트 내부 3계층 구조 스프링 부트 애플리케이션은 내부를 3계층으로 나눠 비즈니스 로직을 구성한다. 각각 프레젠테이션, 비즈니스, 퍼시스턴스 계층으로 불리지만 컨트롤러, 서비스. 리포지토리 계층으로 바꿔 사용한다. 1️⃣ 프레젠테이션(controller), 웹외부에서 오는 요청을 라우팅하는 단계다. 외부에서 오는 HTTP 요청을 인식하고 알맞은 메소드나 컴포넌트로 연결한다. 2️⃣ 비즈니스(service)요청을 받았을 때 비즈니스 로직대로 처리하는 컴포넌트다. 요청을 받았을 때 미리 정한 비즈니스 로직대로 요청을 처리한다. 3️⃣ 퍼시스턴스(repository) 데이터베이스를 관리하는 컴포넌트다. JPA 등을 활용해 데이터베이스를 자바 코드로 관리한다. 계층을 나누면 비즈니스 로직과 실제 ..
[스프링 부트 3 백엔드 개발자 되기] 5-1. 데이터베이스와 ORM
·
Backend
Object-Relational MappingORM은 객체 지향 프로그래밍 언어를 사용하여 객체와 데이터베이스를 연결하는 프로그래밍 기법이다. 데이터베이스를 객체 지향 언어로 쉽게 다루기 위해 고안되었다. 클래스의 메소드를 활용하여 데이터베이스 연결, 데이터 쿼리 조작, 트랜잭션 관리를 할 수 있다. 쉽게 말해 데이터베이스나 테이블을 객체로 두어 다루겠다는 소리다. 이렇게 다룬다면 코드의 가독성이 훨씬 좋아진다. (예를 들어 객체를 생성하면 자동으로 데이터베이스가 연결되고, 객체에 내장 메소드를 활용해 데이터를 기록할 수 있을 것이다.) 장점SQL을 직접 활용하지 않고 사용하는 언어로 데이터베이스를 조작할 수 있다.객체 지향적으로 코드를 작성할 수 있어 비즈니스 로직과 분리할 수 있다.데이터베이스 시스템..