(TIL) and (WIL) (40) 썸네일형 리스트형 Controller, Service, Repository Controller : View와 Server의 중간 역할로 Client로부터 들어오는 요청을 Service에 보내고 처리가 완료되면 다시 반환해준다. Service : Controller에서 들어오는 요청을 처리해주는 비즈니스 로직이며 Repository를 통해 DB 및 JPA쿼리를 받아온다. Repository : Entity에 의해 생성된 DB로들어갔다 왔다 하는 역할을 하며, extend로 JpaRepository를 상속받는다. 전체적인 흐름으로 본다면 아래와 같이 된다. 출처 : https://geonoo.tistory.com/152 [Spring] @ModelAttribute 사용방법 @Controller에서 사용할땐 @Pathvaliable이나 @RequestBody을 사용을 했었다. 하지만 간혹 @ModelAttribute를 사용하는 경우도 있다. 이런 경우는 언제 사용이 되는걸까? @ModelAttribute는 클라이언트로부터 일반 HTTP 요청 파라미터 값이나 multipart/form-data 형태로 파라미터 값을 받아 객체로 사용하고 싶을 때 사용다. 진행하는 프로젝트의 일부분이다. @PutMapping("child") public ResponseDto childModify(@PathVariable Long kindergartenId, @PathVariable Long classroomId, @PathVariable Long childId, @ModelAttribute Ch.. ERD작성 내가 알고 있는 ERD란? -> 서로 key 값 사이의 어떤 연관관계가 있는지 직관적으로 보기 위해 만든것 -> Key값이 어떤건지 알기 위해 만듬 -> Key값 컬럼이 어떤 항목에 있는지 확인하기 위해서 만듬 알아본 결과에 대한 ERD ERD란? -> Entity - Relationship Mode( E - R Mode ) 의 약어이다 1. ERD의 작성법 -> ERD는 Entity - Entity 사이의 관계가 있는 정보를 나타내기 위해 작성한다. 그래서 Primary Key 와 Foreign Key ERD 규칙에 따라서 기술하고, Entity는 사각형으로 표기하여 기술한다. 2. Entity 위치 -> 서로간의 위치가 꼬이지 않고 시각적으로도 불편하지 않도록 작성해야한다. (ex 사람은 왼쪽 -> .. 예약어 DB란? 갑자기 예약어 DB에 대해서 궁금하게 된 이유는? -> 프로젝트 진행할때 프레임워크가 나와서 ERD를 작성하려고 했는데 팀원분이 ERD작성할땐 예약어 DB 조심하라고 말하길래 무슨말인가 생각하고 적어놨다가 차근차근씩 검색하면서 찾아보고 있다. MySQL 예약어란? - 데이터베이스에 테이블 외에 다양한 데이터를 저장하거나 관리하는 어떤 것을 만들 수 있다. (ex 뷰) - 데이터베이스 객체는 이름을 붙혀 관리한다. - 통상적으로 데이터베이스 객체명은 예약어와 동일한 이름을 사용할 수 없다. 클린 코드(Clean Code)란? 클린코드를 사용하려면 중요한 원칙이 있다. 기본적이면서도 필요한 약속이니 기본적인거는 항상 숙지하자. Clean Code 1. 제 3자가 읽어도 이해하기 쉽고 고치기 쉬운 코드 2. 다양한 기능이 아닌 한가지에만 집중하는 코드 3. 테스트 케이스가 있는 코드 객체지향은 유지보수하는데 사용되기 때문에 제 3자가 봐도 읽기 쉽고 에러 발생시 고치기 쉬운 코드가 되어야 한다. 의미 있는 Naming 의미가 연관되어 있는 Naming을 하는 이유는 코드 작성하는 것과 직결되기 때문에 각별히 신경써주어야한다. POST로 보내는데 method = Delete로 지어서 보낸다면 연관도 없고 혼동만 오기 때문에 각별히 신경써주자. 주석 주석을 작성하는것은 나의 코드를 설명해주기 위해서 작성한다. 내가 이해를 못할때, .. Dto, Request Dto, Response Dto Dto : Entity Dto로 요청과 응답의 객체로 담아서 사용한다. Request : 클라이언트부터 요청을 받는곳을 의미한다. getter 와 기본 생성자 필요 Response : 클라이언트로부터 응답을 보내는 것을 의미한다. getter 필요 Dto를 사용하는 이유 4가지 1. 엔티티 내부 구현을 캡슐화할 수 있다. - 도메인의 핵심 로직과 속성을 가지고 있고, 실제 DB의 테이블과 매칭되는 클래스이다. - 엔티티를 UI에 바로 노출하는 것은 테이블 전체 설계를 화면에 공개하는 것이기 때문에 보안상으로도 바람직하지 않다. - Dto로 캡슐화하여 데이터를 전달해야한다. 2. 화면에 필요한 데이터를 선별할 수 있다. - Entity로 바로 전달한다면 쓸데없는 데이터까지 전달되기 때문에 바람직하지 않다... Spring CRUD (Read) Spring CRUD Create URL : https://cho-cooding.tistory.com/43 CRUD 중 두번째 Read 조회를 해본다. Service의 MemberService @Service @RequiredArgsConstructor public class MemberService { private final MemberRepository memberRepository; //조회 public MemberResponseDto getMember(Long id, Member member) { memberRepository.findById(id); MemberResponseDto memberResponseDto = new MemberResponseDto(member.getUser(), mem.. Spring CRUD (Create) Spring에서 CRUD는 회원가입을 만들때 사용된다. Create, Read, Update, Delete 로 사용되며 Spring에선 수정이 없다보니 update를하여 변경하는 메서드를 사용한다. 그 중에 가장 첫번째는 Create에 대해서 알아보도록 하겠다. Entity는 Member Member에 사용될 참조형 변수 private String user, private String password 이다.(회원가입시 필요한 정보) 어노테이션은 @Getter , @Entity, @NoArgsConstructor 사용 - @Getter : Lombok을 사용하면 @Getter, @Setter를 사용할 수 있고, entity에서는 return이 아닌 반환값이 필요하므로 Getter를 사용한다. - @Enti.. 이전 1 2 3 4 5 다음