본문 바로가기
JAVA/- Useful Code

Java/ spring 기본 동작 순서

by 고고 뜌지 2021. 4. 5.

고고뜌지입니다.

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

  - changyeonyoo.log

 

Mybatis란? (장점, 특징, 컴포넌트)

Mybatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하는 ORM(Object relational Mapping)프레임워크이다.SQL을 별도의 파일로 분리해서 관리하게 해준다.Hibernate나 JAP(Java Persistence Api)처럼 새로운 DB

velog.io

 

댓글