고고뜌지입니다.
JAVA Spring 의 구조에 대해 포스팅 하겠습니다.
현재 저희 회사에서 사용중인 회사 기준으로 작성합니다.
1. Spring 구조
1) 순서 : Controller - Service - Dao -DB
2) 상세 처리 순서
- 클라이언트가 Request 요청을 하면 DispatcherServlet이 요청을 가로챔
( 모든 요청 가로채지않고 web.sml 만 가로챔)
- DispatcherServlet이 가로챈 요청을 HandlerMapping에게 보내어 처리할 수 있는 Controller을 찾음
- 실제 로직 처리 (Controller - Service - DAO - DB - DAO - Service - Controller )
- View REsolver 를 통해 view 화면을 찾고 클라이언트에게 전송
2. MVC 패턴
1) Controller
- 클라이언트에서 요청이 들어올 때, 해당 요청을 수행할 비즈니스 로직을 제어하는 객체
- 화면에서 넘어노는 매개변수들을 이용해 service 객체를 호출하는 역할
- @GepMapping, @RequestMapping 로 제어
예) @RequestMapping("/Hello" )
- HTTP 프로토콜의 구분된것으로 값을할당 받어 로직을 처리함
2) Service
- servicelmple 이라는 구현객체를 생성한다.
- 로직 처리 : service (인터페이스) - servicelmple - DAO
- Service : 인터페이스 역할 임
- Servicelmple : service를 통해 접근하며, 실제적인 DAO 접근을 함
3) DAO
- DAO : Data Access Object
- DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 객체
- DAO 사용 이유는 효율적인 커넥션 관리와 보안성
- Database의 data에 acess하는 트랜잭션의 객체
- Domain Logic (도메인 로직 : 비드니스 로직이나 db와 관련없는 코드) 을 persistence mecahnism과 분리하기
위해 사용함
* persistence layer : CRUD (Create, Read, Update, Drop) 하는 계층
4) Mybatis
- 자바 오브젝트와 SQL 사이의 자동 매핑 기능을 지원하는 ORM (Object Relational Mapping) 프레임워크
- Sql을 별도의 파일로 분리해서 관리함
- 특징
* 쉬운 접근성과 코드의 간결함
* Sql문과 프로그래밍 코드의 분리
* 다양한 프로그래밍 언어로 구현 가능 (Java, C#, .NET 등 )
- DAO에서 Mybatis를 사용함
참조 블로그
- 행복회로
[용어] MVC, Spring Framework MVC, Controller, Service, DAO, DTO, VO - 개념
MVC, Spring Framework MVC - 비교- Spring Framework의 MVC에서 Model = Service, ...
blog.naver.com
Spring Framework (스프링프레임워크) 기본 동작 순서 및 구조
Spring Framework (스프링프레임워크) 기본적인 동작 순서 및 구조에 대해서 정리해봤습니다. 전체적인 구조가 잘 정리되어있는 블로그가 있어서 이미지와 PDF 파일을 참고했습니다. ( 이미지 및 파일
intro0517.tistory.com
Mybatis란? (장점, 특징, 컴포넌트)
Mybatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하는 ORM(Object relational Mapping)프레임워크이다.SQL을 별도의 파일로 분리해서 관리하게 해준다.Hibernate나 JAP(Java Persistence Api)처럼 새로운 DB
velog.io
'JAVA > - Useful Code' 카테고리의 다른 글
[코테용] JAVA 자주 사용하는 문법 (0) | 2024.10.21 |
---|---|
Websocket 구현 (0) | 2024.08.03 |
JAVA에서 JDBC로 조회시 쿼리문은 빠른데 실제 속도가 느린경우 (1) | 2021.11.18 |
다음주소찾기 API (0) | 2021.07.08 |
댓글