전체 글
-
[3-ch10 스프링] 프레젠테이션(웹) 계층의 CRUD 구현Back-End/Spring Legacy 2022. 8. 23. 12:30
앞 포시팅에서, 비즈니스 계층과(Service) 영속계층 (MyBatis, Mapper.xml) 계층 구현은 완료했다. 그럼 스프링 MVC 작업에서 남은 건 Cotroller 이기에 이번 포스팅에선 Controller 메서드를 작성해보도록 하겠다. https://wonisdaily.tistory.com/53 [3-ch8 스프링] 영속/비지니스 계층의 CRUD 구현, Mapper 인터페이스와 xml VO 클래스 작성 VO 클래스를 생성하는 작업은 테이블 설계를 준으로 작성하면 된다. tbl_board 테이블의 구성대로 작성한다. 프로젝트에 org.zerock.domain 패키지를 생성하고 BoardVO 클래스를 정의한다. p wonisdaily.tistory.com https://wonisdaily.tis..
-
[Spring] GET/POST 두 방식의 특징과 차이점 알아보기Back-End/Spring Legacy 2022. 8. 23. 10:07
서버 API를 구현하다보면 GET/POST 방식을 볼 수 있는데 주로 @RequestMapping(value = "/basic", method= {RequestMethod.GET, RequestMethod.POST}) 이런 방식으로 RequestMapping이나 아예 각자 하나씩만 다루는 @GetMapping, @PostMapping 어노테이션을 사용하는 컨트롤러에서 만날 수 있다. 그럼 의문이 들지 않는가 어떨때 Get을 사용하고 어떨때 Post를 사용하는지! 오늘은 두 방식의 특징과 차이점을 알아보려고 한다. 전달 방식 GET/POST는 HTTP 프로토콜을 이용해서 서버에 정보를 전달할 때 사용하는 방식이다. 둘의 차이점은 어디에 위치해있는가인데 POST 용청 시 URL 파라미터가 보이지 않는 이유는..
-
[3-ch9 비즈니스 계층] Service의 생성과 설정Back-End/Spring Legacy 2022. 8. 19. 13:22
비즈니스 계층이란? 비즈니스 계층은 고객의 요구사항을 반영하는 계층으로 프레젠테이션 계층(컨트롤러, view) 과 영속 계층(db)의 중간 다리 역할을 하게 된다. 영속 계층은 데이터베이스를 기준으로 해서 설계를 나눠 구현하지만, 비즈니스 계층은 로직을 기준으로 해서 처리한다. 예를들어, '쇼핑몰에서 상품을 구매한다'고 가정해볼때, 해당 쇼핑몰의 로직이' 물건을 구매하는 회원에게는 포인트를 올려준다'고 하면 영속 계층의 설계는 '상품'과 '회원'으로 나누어서 설계하게 된다. 반면에 비즈니스 계층은 상품 영역과 회원 영역을 동시에 사용해서 하나의 로직을 처리하게 되므로 다음과 같은 구조를 만들게 된다 . 오늘 포스팅할 예제는 단일 테이블을 이용하고 있기 때문에 위와 같은 구조는 아니지만, 설계를 할 때는 ..
-
[3-ch8 스프링] 영속/비지니스 계층의 CRUD 구현, Mapper 인터페이스와 xmlBack-End/Spring Legacy 2022. 8. 19. 10:41
VO 클래스 작성 VO 클래스를 생성하는 작업은 테이블 설계를 준으로 작성하면 된다. tbl_board 테이블의 구성대로 작성한다. 프로젝트에 org.zerock.domain 패키지를 생성하고 BoardVO 클래스를 정의한다. package org.zerock.domain; import java.util.Date; import lombok.Data; @Data public class BoardVO { private Long bno; private String title; private String content; private String writer; private Date regDate; private Date updateDate; } Mapper 인터페이스와 Mapper XML MyBatis는 SQ..
-
[git & Github] git 다운 & 깃허브 Repository 만들고 프로젝트 업로드 하기Tools/Git & Github 2022. 8. 18. 23:17
new Repository 생성 우측 상단에 + 버튼 클릭 후 new Repository를 클릭한다. 그럼 새로운 저장소를 만드는 페이지가 나오는데 입력해야 되는 건 Repository name이다. 업로드할 파일, 프로젝트들이 저장될 저장소의 이름을 알아보기 쉽게 설정하고 Public으로 선택한 후 create 버튼을 클릭한다. 저장소 생성 후 보여지는 처음 화면이다. 아래 ...or create a new repository on the command line 을 보면서 git 명령어를 입력해 저장하고 싶은 파일들을 가져오면 되는 것.! 일단) git 설치를 우선으로 한다. git 다운 1. 검색창에 git을 검색 2. download for Windows 클릭 해당 운영체제에 맞게 다운받으면 된다...
-
[3-ch7 스프링 MVC] 프로젝트 기본 구성, DB 더미 테이블 생성Back-End/Spring Legacy 2022. 8. 17. 11:24
스프링 MVC 프로젝트의 기본 구성 일반적으로 웹 프로젝트는 3-tier(티어) 방식으로 구성된다. Persentation tier(화면계층)은 화면에 보여주는 기술을 사용하는 영역이다. 앞의 포스팅 내용을 살펴봤을 땐 Servlet/JSP나 스프링 MVC가 담당하는 영역이 된다. Persentation tier는 프로젝트의 성격에 맞춰 앱으로 제작하거나, CS(Client-Server)로 구성되는 경우도 있다. Business Tier(비지니스 계층)는 순수한 비즈니스 로직을 담고있는 영역이다. 이 영역이 중요한 이유는 고객이 원하는 요구 사항을 반영하는 계층이기 때문이다. 이 영역의 설계는 고객의 요구 사항과 정학히 일치해야 한다. 이 영영은 주로 'xxxService'와 같은 이름으로 구성하고, 메..
-
[2-ch6 스프링] MVC의 Controller 어노테이션 (@RequestMapping, @requestParam, Model, 반환타입)Back-End/Spring Legacy 2022. 8. 16. 12:04
스프링 MVC Controller 특징 스프링 MVC를 이용하는 경우 작성되는 Controller는 아래와 같은 특징이 있다. - HttpServletRequest, HttpServletResponse를 거의 사용할 필요 없이 필요한 기능 구현 - 다양한 타입의 파리미터 처리, 다양한 타입의 리턴 타입 사용 가능 - GET, POST 방식 등 전송 방식에 대한 처리를 어노테이션으로 가능 - 상속/ 인터페이스 방식 대신 어노테이션만으로도 필요한 설정 가능 @Controller 프로젝트 내 org.zerock.controller 패키지 폴더에 SampleController라는 이름의 클래스를 작성한다. @Controller @RequestMapping("/sample/*") @Log4j2 public cla..
-
[2-ch5 스프링 MVC 패턴] 기본구조와 로딩구조 (DispatcherServlet, listener, ViewResolver)Back-End/Spring Legacy 2022. 8. 15. 11:30
스프링 웹 프로젝트를 진행하려면 제일 중요하게 알아야되는 기본 개념이 바로 MVC 패턴의 구조이다. 국비 수업을 들으면서 몇번이고 반복해서 학습했더니 조금씩 눈에 들어오는 느낌? 처음엔 이게 무슨 소리야,, 헷갈리는 부분도 많았지만 전체적인 기본구조와 로딩구조를 정리하면서 디자인 패턴이나 xml의 역할 등 세세하게 알아볼까한다. 스프링 MVC 프로젝트 내부 구조 스프링 MVC 프로젝트를 구성해서 사용한다는 의미는 내부적으로 root-context.xml로 사용하는 일반 Java 영역 (흔히 POJO)과 servlet-context.xml로 설정하는 Web 관련 영역을 같이 연동해서 구동하게 된다. 위의 틀을 WebApplicationContext라고 볼 수 있는데, 이 존재는 기존의 구조에 MVC 설정을..