Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- SQL Server 구성 관리자
- 스프링부트
- JavaScript
- C#
- 권한
- System.Text.Json
- 데이터베이스
- .NET 8.0
- git
- ORM
- OUT 파라미터
- 스프링 시큐리티
- Exception in thread "main" java.lang.Error
- springboot
- DB
- Newtonsoft.Json
- cors
- SSMS
- 자바
- 프로시저
- IT story
- IT
- java
- jpa
- github
- RAISERRR
- MSSQL
- SQL Server
- SOP
- ERROR_MESSAGE
Archives
- Today
- Total
its_jh_stroy
[Spring Boot] 3-tier 아키텍처 본문
3-tier 아키텍처는 애플리케이션을 세 가지 계층으로 나누어 개발하는 방법이다.
각 계층의 역할이 명확해져, 향상된 유지보수성과 확장성, 재사용성을 가진 프로그램이 된다.
프레젠테이션 계층(Presentation Layer, Controller)
HTTP 요청을 받고, 관련된 서비스를 호출하여 비즈니스 계층으로 전달한다.
컨트롤러가 프레젠테이션 계층에 속한다.
비즈니스 계층(Business Layer)
비즈니스 로직을 처리한다.
서비스 클래스가 비즈니스 계층 역할을 한다.
퍼시스턴스 계층(Persistence Layer)
데이터베이스와 관련된 작업을 추상화하는 인터페이스이다.
퍼시스턴스 계층은 리포지토리라는 이름으로 작성한다.
JPA를 사용하는 경우 스프링에서 자동으로 구현해주는 구현체를 사용할 수 있다.
만약 도서 관리 시스템에서 도서 검색 기능을 구현한다고 해보자.
새로운 도서를 추가하는 경우, 추가 요청을 컨트롤러에서 받는다.
Book addedBook = bookService.addBook(book);
컨트롤러는 서비스 클래스를 호출하여 요청을 전달한다.
if (bookRepository.findByTitle(book.getTitle()).isPresent()) {
// 중복 관련 처리
}
return bookRepository.save(book);
서비스는 레포지토리 인스턴스를 통해, 추가할 도서가 이미 존재하는지 검사하고 추가하는 작업을 수행한다.
이렇게 각 계층이 각자 역할을 가지고 작업을 수행하도록 설계하여 3-tier 아키텍처를 구현할 수 있다.
'Java' 카테고리의 다른 글
[Java] String, StringBuffer와 StringBuilder (0) | 2024.06.04 |
---|---|
[Java] 자바로 날짜와 시간 다루어보기 (0) | 2024.06.01 |
[Java] == 연산자와 equals() 메서드 (0) | 2024.05.25 |
[Springboot] vsCode에서 Springboot 프로젝트 만들어 실행하기 (0) | 2024.04.24 |
[Java] 자바가 실행되는 과정과 JVM, JRE, JDK (0) | 2024.02.09 |