728x90
반응형
SMALL

스프링 프로젝트는 3-tier로 구성된다.

(1) Presentation Tier(화면)
화면에 보여주는 기술을 사용하는 영역
컨트롤러에서 사용자의 요청에 맞는 응답처리를 진행하며,
HTML 엔진(thymeleaf), HTML이 담당하는 영역이다.
화면 구성

(2) Business Tier(비즈니스)
순수한 비즈니스 로직을 담고 있는 영역
고객이 원하는 요구사항을 반영하는 계층
이 영역의 설계는 요구사항과 일치해야 하며, 서비스 영역

(3) Persistence Tier(영속, 데이터)
데이터를 어떻게 보관하고 사용하는 가에 대한 설계가 들어있는 계층
일반적으로는 DBMS를 이용, 상황에 따라 네트워크 호출 또는 원격 호출 등의 기술이 들어갈 수 있음

Presentation <-> Business <-> Persistence
Service I/F Mapper I/F

728x90
반응형
LIST

'개발 > 정리 내용' 카테고리의 다른 글

DB Connection Pool  (0) 2023.01.15
DTO(Data Transfer Object)  (0) 2023.01.15
Excrption 처리  (0) 2023.01.15
Front-Controller Pattern  (0) 2023.01.15
스프링부트 디렉토리 설명  (0) 2023.01.15
728x90
반응형
SMALL

(1) MySQL

  • SQL 문법 기반
  • 거의 모든 운영체계에서 사용 가능
  • 처리 속도가 빠르고 대용량 데이터 처리가 용이
  • 설치가 쉽고 사용법이 쉬움
  • 구글, 링크드인, 아마존, 넷플릭스, 트위터

(2) MariaDB

  • MySQL을 개발한 개발자가 만든 DBMS
  • MySQL과 매우 유사
  • 상업용으로도 무료
  • MySQL의 단점을 제거

(3) Oracle

  • 오라클 회사에서 만든 데이터베이스
  • 세계 점유율 1위
  • 막강한 QnA 사이트(metalink, askTom)
  • 분산처리를 통해 대용량의 성능도 cover
  • 실행계획을 제어할 수 있는 도구를 제공(hint)
    /*+ */

(4) PostgreSQL

  • 대용량 처리를 위한 기능이 구현됨
  • 보안을 위한 암호화, 접근제어, 접근감지
  • 오픈 소스이므로 무료
  • 인스타그램, 스카이프, 이케아, 트립어드바이저
728x90
반응형
LIST
728x90
반응형
SMALL
  • Error 발생 시 기본 경로로 요청이 들어온다.
  • 기본경로는 /error
  • Controller가 /error 요청에 대한 처리를 통해 원하는 메세지를 출력 가능
728x90
반응형
LIST

'개발 > 정리 내용' 카테고리의 다른 글

DTO(Data Transfer Object)  (0) 2023.01.15
3-Tier 구조  (0) 2023.01.15
Front-Controller Pattern  (0) 2023.01.15
스프링부트 디렉토리 설명  (0) 2023.01.15
첫 번째 스프링 프로젝트 띄우기  (0) 2023.01.15
728x90
반응형
SMALL

1)사용자의 Request는 Front-Controller인 DispatchaerServlet을 통해 처리한다.

2) HandlerMapping은 Request의 처리를 담당하는 Controller를 찾기 위해 존재 HandlerMapping 인터페이스를 구현한 객체 중 @RequestMapping 어노테이션이 적용된 것을 기준으로 판단하며, 적절한 컨트롤러가 찾아졌다면 HandlerAdapter가 Controller를 동작시킨다.

3) Controller는 Request를 처리하는 비즈니스 로직을 작성 View에 전달해야 하는 데이터는 주로 Model 객체에 담아서 전달 이에 대한 처리는 ViewResolver를 이용하게 된다.

4) ViewResolver는 Controller가 리턴한 결과를 어떤 View에서 처리할 것인지, 처리하는 것이 좋을 지 해석하는 역할

5) View는 실제 응답을 보내야하는 데이터를 HTML 등을 이용해서 생성하는 역할

6) 만들어진 응답은 DispatchaerServlet을 통해 전송

** specialty

  • HttpServletRequest, HttpSerletResponse를 거의 사용할 필요 없이 구현
  • 다양한 타입의 피라미터 처리, 다양한 타입의 리턴 타입 사용 가능
  • GET방식, PUT 방식 등 전송 방식에 대한 처리를 어노테이션으로 처리 가능
  • 상속/인터페이스 방식 대신 어노테이션만으로 설정 가능
728x90
반응형
LIST

'개발 > 정리 내용' 카테고리의 다른 글

3-Tier 구조  (0) 2023.01.15
Excrption 처리  (0) 2023.01.15
스프링부트 디렉토리 설명  (0) 2023.01.15
첫 번째 스프링 프로젝트 띄우기  (0) 2023.01.15
Springboot  (0) 2023.01.15
728x90
반응형
SMALL
  1. src/main/java : 서버사이드 java file
  2. test/main/java : 단위 테스트 jaca file
  3. src/main/resouce : 설정 파일 및 view
  4. resouce/static : css, js
  5. resouce/template : html 파일 경로
  6. pom.xml : 라이브러리 의존성(dependency) 관리
  7. application.properies : 서버 및 DB 설정 file

크롬 앱스토어에서 다운 Talend API Tester

728x90
반응형
LIST

'개발 > 정리 내용' 카테고리의 다른 글

Excrption 처리  (0) 2023.01.15
Front-Controller Pattern  (0) 2023.01.15
첫 번째 스프링 프로젝트 띄우기  (0) 2023.01.15
Springboot  (0) 2023.01.15
STS(Spring Tool Suite)  (0) 2023.01.15
728x90
반응형
SMALL
  1. 우측 하단 라이브러리 다운로드 기다리기
  2. src/main/java/com/example/ex00/EX00Application.java 오픈
  3. 실행(Run)
  4. ERROR Fail to Configure a DateSource: uri (DB 설정을 하지 않았기 때문에 발생!)
  5. @SpringBootApplication(exclude=
    {DateSourceAutoConfiguration.class})
    **) Project -> Properties -> Java Edit -> Save Actions -> ckeck) Project specific settings > perform > import
    적용하면 파일 save 시 자동으로 import
  6. 실행(Run)
  7. port 8080 in use error
  8. resources/application.properies에 server.port = 10000 설정
  9. 실행(Run)
  10. 오류 없이 Started라는 메시지가 마지막 줄
  11. 브라우저로 http://localhost:10000 접속 
  12. white 오류 페이지 발생 - 루트에 아무 파일이 없다는 오류 
  13. resouce/Template에 index.html 생성 
  14. 웹 페이지 작성
  15. 정상 루트 페이지가 웹 브라우저에서 보임
728x90
반응형
LIST

'개발 > 정리 내용' 카테고리의 다른 글

Front-Controller Pattern  (0) 2023.01.15
스프링부트 디렉토리 설명  (0) 2023.01.15
Springboot  (0) 2023.01.15
STS(Spring Tool Suite)  (0) 2023.01.15
스프링 프레임워크 동작 시 생기는 일  (0) 2023.01.15

+ Recent posts