TIL 231204 2023. 12. 4. 벌써 12월이라니 어...이번주 진짜 힘들었다 (맨날 이 말 하는거같은데?) 진짜 찐임 아무튼 찐임..... 상담하고도 힘들었는데 개인적인 일도 겹쳐가지고....😔 아직도 좀 휑하다..기분이 ㅋㅋ 아무튼 이번주는 Data JPA 기반으로 계층별구조와 실습을 했다 솔직히 이때까지 했던 과제들은 완성된 코드를 보고 따라치는거라서 실제로 어떤과정으로 어떻게 구현되는지 잘 와닿지 않았는데 상담 망한(?) 이후로 전체적으로 코드 구현하는 걸 보여주시니까 약간은 알것같기도 하다😔 그래도 여전히 텅 빈 인텔리제이에 구현하라고 하면 음.......ㅎ 과제는 연관관계 매핑이랑 주문기능추가구현을 했는데 연관관계구성은 이해되지만 디테일한 부분까지 생각해내는건 못하겠다... 양쪽에 데이터가 연동되어야하는건 알겠는데 그걸 내가.. Spring MVC JPA 2 2023. 11. 28. 🌼엔티티 - 테이블 간 매핑 @Entity / @Id와 꼭 함께 필수로 사용 에트리뷰트 name사용 가능 - 엔티티의 이름설정 (설정 안하면 클래스명을 엔티티 이름으로 한다) @Table 옵션 , 클래스레벨에 붙임 애트리뷰트 name 사용 가능 ( 데이터베이스의 테이블 이름 설정) @Entity는 식별할 이름 설정 @Table은 데이터베이스에 생성될 Table의 이름 설정 @Table이 없고 @Entity만 존재하는 경우 @Entity의 name 속성에 의해 Entity와 Table이름이 모두 결정 @NoArgsConstructor 파라미터가 없는 기본 생성자 필수로 추가 🌼기본키 매핑 @Id @GeneratedValue(strategy = GenerationType.생성방법) 기본키 생성방법 정하는 애.. Spring MVC JPA 2023. 11. 28. JPA(Java Persistence API) Java진영에서 사용하는 ORM 기술의 표준사양 데이터 액세스 계층의 상단에 위치 더보기 JPA는 자바에서 관계형 데이터베이스와의 상호작용을 위한 API이다. 객체관계매핑(ORM)을 지원하여 개발자가 객체지향프로그래밍 언어인 자바로 데이터베이스와 상호작용할 수 있도록 도와준다. JPA를 사용하면 개발자는 객체를 데이터베이스에 저장하고 검색하는 등의 작업을 SQL 쿼리를 직접 작성하는 대신 자바 객체를 사용하여 수행할 수 있다. (객체와 데이터베이스 사이의 변환을 자동 처리) 이를 통해 객체모델과 데이터베이스 스키마 간의 매핑이 자동으로 처리되어 개발자가 더 직관적이고 유연한 코드를 작성할 수 있게 된다. Hibernate는 가장 널리 사용되는 JPA 구현체 .. Spring MVC Data JPA 2023. 11. 27. JDBC 로우레벨 기술이지만 내부적으로는 여전히 사용중이다 Java에서 데이터베이스에 접근하기위한 API JDBC드라이버 데이터베이스와의 통신을 담당하는 인터페이스 Java애플리케이션에서 JDBC API를 이용해 적절한 데이터 베이스 드라이벌르 로딩한 후 데이터베이스와 인터랙션 한다 Connection Pool 데이터베이스 Connection을 미리 만들어 보관하고 제공하는 역할을 하는 Connection 관리자 데이터 액세스 기술 유형 1. SQL 중심 기술 SQL 쿼리문을 애플리케이션 내부에 직접적으로 작성 mybatis, Spring JDBC 2. 객체(Object) 중심 기술 Java객체를 SQL쿼리문으로 자동 변환 한 후에 데이터베이스의 테이블에 접근 ORM - 객체 중심의 데이터액세스 기술,객.. Spring MVC 예외처리 2023. 11. 23. @ExceptionHandler 예외처리 @ExcepitonHandler 를 사용해서 에러 응답 메세지를 작성해서 보내줄 수 있다 Controller레벨에서 사용한다 ➜ 하지만 에러메세지 정보뿐만 아니라 ResponseBody의 전체정보가 전달된다 공통된 에러들은 ErrorResponse 클래스를 만들어서 DTO클래스의 유효성 검사를 실패한 필드(멤버변수)에 대한 Error정보만 담아서 클래스 내의 FieldError 클래스로 응답전송 가능하다 @ExceptionHandler 단점 각 클래스마다 RequestBody에 대한 유효성검증 애너테이션을 사용해서 에러처리를 해야해서 코드중복이 발생된다 Controller클래스내에 처리해야할 예외가 유효성 검증에 대한 예외(MethodArgumentNotValid.. Spring MVC 서비스계층 ,Mapper 2023. 11. 23. 🌼서비스 계층 API 계층에서 전달 받은 클라이언트의 요청 데이터를 기반으로 실질적인 비즈니스 요구사항을 처리하는 계층 Spring 의 DI(의존성 주입)를 이용하여 API 계층과 비즈니스(서비스) 계층을 연동하고 API 계층에서 전달받은 DTO 객체를 비즈니스(서비스) 계층의 도메인 Entity 객체로 변환해서 전환 API 계층과 서비스 계층을 연동한다 API 계층에서 구현한 Controller 클래스가 서비스 계층의 service 클래스와 메서드 호출을 통해 상호작용한다 🌼DTO 클래스와 엔티티 클래스의 역할 분리가 필요한 이유 🎀계층별 관심사의 분리 기능별로 서로 사용되는 계층이 다르다 ( OOP의 단일 책임 원칙(SRP)에 따라 더 좋은 OOP를 위해) DTO 클래스 API 계층에서 클라이언트의 .. Spring MVC API 계층 2 2023. 11. 22. 🌼DTO(Data Transfer Object) 데이터 전송을 위한 용도의 객체( 요청데이터 & 응답데이터) 🎀Request Body 요청 데이터 중 body에 해당되는 데이터 🌼DTO가 왜 필요할까? 코드의 간결성 : 요청 데이터를 하나의 객체로 전달 받음 데이터 유효성(Validation) 검증의 단순화 : DTO클래스에 유효성검증을 간편하게 포함시킬 수 있음 ✔DTO의 사용 목적 HTTP 요청의 수를 줄이기 위함 ➜ 비용감소 ✔DTO의 단점 DTO클래스를 만들때 Controller 클래스 안에 DTO클래스를 추가적으로 작성해야하는데 Controller 클래스가 늘어날수록 작성할 클래스들이 두배씩 늘어난다! @RequestBody 애너테이션-역직렬화 JSON 형식을 Java의 객체로 변환 @Respo.. Spring MVC API 계층 1 2023. 11. 22. Spring MVC 서블릿 API를 기반으로 클라이언트의 요청을 편리하게 처리해주는 프레임워크 더보기 서블릿(Servlet) 클라이언트의 요청을 처리하도록 특정 규약에 맞추어서 Java코드로 작성하는 클래스파일 서블릿 컨테이너중 서블릿들이 웹애플리케이션으로 실행되게 해주는 아파치톰캣이 있다 M : Model 데이터를 클라이언트에게 돌려주는 결과데이터 서비스계층:클라이언트의 요청사항을 구체적으로 처리하는 영역 비즈니스 로직: 실제로 요청사항을 처리하기 위해 Java코드로 구현한 것 V : View model 데이터를 이용해서 웹 브라우저같은 클라이언트 애플리케이션의 화면에 보이는 리소스를 제공 더보기 View의 기술 HTML 페이지 출력 PDF,Excel 등 문서형태 출력 XML,JSON 특정형식의 포맷으.. 이전 1 2 3 4 5 6 7 ··· 11 다음 4/11