목록프로젝트/Eggo (Mobile App)
Step-by-Step
처음 프로젝트를 생성할 때 Spring 개념만 잡고 바로 뛰어들었더니 필요해보이는 기능들을 다 넣었는데, Mapper 인터페이스와 DAO 인터페이스 둘 다 생성해놓았다 이후 Mapper 중심으로 개발하다보니 DAO 인터페이스는 사용하지 않게 되었다 내가 선택한 프로젝트 구조는 Controller → Service → Mapper.java → Mapper.xml → DB 이다. Mapper Interface - Mybatis Mapping XML에 기재된 SQL을 호출하기 위한 인터페이스 - Mapping 파일에 있는 SQL을 자바 인터페이스를 통해 호출할 수 있도록 해줌 - Mapper Interface는 개발자가 직접 작성 - Mapper namespace는 패키지 명을 포함한 인터페이스 명으로 작성 ..

Service - Controller가 받은 요청에 대해 알맞는 정보를 가공해서 다시 Controller에게 데이터를 넘겨주는 역할 - Controller에서 요청을 받아 Data를 Mapper에게 넘겨주고 Mapper에 의해 DB에서 받아온 정보를 Controller에게 전달해준다 사용할 Service - User와 Bill을 구분하여 작성 Service Interface 이유 찾아보니 다들 Service 부분은 Interface와 implements한 class로 나눠 작성했는데 그 이유는 다음과 같다 - 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙 중 OCP 원칙을 실현하기 위함 - Interface를 토대로 Service 구조의 뼈대를 만들고, Implements를 통해 Service의 ..

Spring에 대한건 모든게 처음이라 열심히 구글링하고 깃헙에서 검색하면서 배우는 중 ㅠ_ㅠ DTO(Data Transfer Object) - 프로세스 간에 데이터를 전달하는 객체 - Client-Controller-Service-Mapper-DB 계층 간 데이터를 요청하고 받을 때 사용 - Lombok을 이용하여 setter/getter 이용 사용할 DTO - 데이터베이스의 테이블 기준으로 DTO를 작성 (필드 종류, 타입도 동일) - 해당 DTO가 어디서 사용되는지는 다음에 포스팅에서 기록할 예정 1. UserDTO 회원 정보를 담은 DTO package com.energysolution.dto; import lombok.Getter; import lombok.NoArgsConstructor; imp..

Spring의 MVC - 스프링 프레임워크(Spring Framework)는 Model-View-Controller(MVC) 패턴을 사용 - Model : 어떤 동작을 수행하는 코드 - View : 모델을 컨트롤러로부터 가져와 사용자에게 보여줌 - Controller : 모델의 상태 변경 및 화면(View)와 비지니스 로직(Model)을 연결하는 Routing 역할 Controller 구현하기 1. Client가 URI 형식으로 웹 서비스에 요청 보냄 2. Mapping되는 Handler와 해당 Type을 찾는 DispatcherServelet이 요청을 인터셉트 3. @ResponseBody를 이용하여 Client에게 Json 형태로 데이터 반환 Controller 패키지 생성 후 내부에 Controll..

Gradle 프로젝트 생성 build.gradle 설정 application.properties 설정 1. 프로젝트 생성 New > Spring Starter Project Gradle Project / Java 선택 필요한 Dependencies 설정 - 아래에 추가로 설명 ※ 참조 : https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using.build-systems.starters 프로젝트 전체 구조 생성! 2. Build.Gradle build.gradle plugins { id 'org.springframework.boot' version '2.6.5' id 'io.spring.dependency-management' ..