개발/Spring

개발/Spring

[Spring] Entity 와 Repository 차이점

1. Entity 와 Repository 개념 비교구분 Entity Repository역할데이터베이스 테이블과 매핑되는 객체데이터베이스에 접근하여 CRUD를 수행기능데이터 모델 정의 (테이블 컬럼 매핑)데이터를 저장, 조회, 수정, 삭제어노테이션@Entity, @Table@Repository, JpaRepository사용 위치entity/ 패키지repository/ 패키지예제 코드User.javaUserRepository.java2. Entity (엔티티)개념**JPA(Java Persistence API)**에서 데이터베이스의 테이블과 매핑되는 객체(클래스).실제 테이블과 1:1로 매칭되며, 컬럼과 필드를 매핑.예제 (User.java)import jakarta.persistence.*;import l..

개발/Spring

[Spring] Webflux

Spring MVC와 Spring Webflux의 차이점blocking / non-blockingSpring MVC 공식문서에 따르면, Spring Webflux 대부분의 구조 및 설정은 Spring MVC와 동일하다고 명시되어 있다.그러나 동시성 모델과 블로킹/쓰레드 기본 전략이 다르다.MVC에서는 애플리케이션이 스레드를 차단(blocking)할 수 있다는 가정 하에 큰 스레드풀을 가지고 있고,WebFlux에서는 스레드가 차단되지 않아(non-blocking) 적은 스레드풀을 사용하여 request들을 처리한다는 점이다. 더 자세히 살펴보자면 두 프레임워크의 차이는 다음과 같다.Spring MVC 어플리케이션은 Imperative logic(명령형 로직)이다.명령형 프로그래밍은 작성하기도, 이해하기도,..

개발/Spring

[Springboot]Springboot 3.x에 Swagger

연관된 글 : 참고:https://velog.io/@kjgi73k/Springboot3%EC%97%90-Swagger3%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0

개발/Spring

[Spring] 스웨거 (Swagger) v3 설정하기

2.설정 https://springdoc.org/#properties OpenAPI 3 Library for spring-boot Library for OpenAPI 3 with spring boot projects. Is based on swagger-ui, to display the OpenAPI description.Generates automatically the OpenAPI file. springdoc.org 1) build.gralde에 관련 의존성 추가 dependencies { implementation 'org.springdoc:springdoc-openapi-ui:1.6.9' } 2) yml 설정 추가 springdoc: swagger-ui: path: /swagger-ui.html ..

개발/Spring

[Spring] Swagger 어노테이션

@Tag = api 그룹 설정 Open API 3.0 Swagger v3 Target: ANNOTATION_TYPE, METHOD, TYPE name: 태그의 이름 description: 태그에 대한 설명 Tag에 설정된 name이 같은 것 끼리 하나의 api 그룹으로 묶는다. 주로 Controller나 Controller의 Method 영역에 설정한다. @Tag(name = "posts", description = "게시물 API") @RestController @RequiredArgsConstructor @RequestMapping("/api/v1/") public class PostsApiController { ... @Schema = api Schema 설정 Open API 3.0 Swagger ..

개발/Spring

[Spring] 빌더 패턴(Bulider Pattern)

1. 빌더 패턴이란? 생성과 관련된 디자인 패턴으로, 동일한 프로세스를 거쳐 다양한 구성의 인스턴스를 만드는 방법 빌더 패턴은 GoF 디자인 패턴 중 생성 패턴에 해당하고 주로 복잡한 단계를 거쳐야 생성되는 개체의 구현을 서브 클래스에게 넘겨줄 때 많이 사용된다. 빌더의 생성자나 메소드에서 유효성 확인을 할 수 있고, 많은 매개변수들을 혼합해서 확인해야 하는경우, build 메소드에서 호출하는 생성자에서 확인할 수 있다. 또, 실패하면 예외를 발생시켜 어떤 매개변수가 잘못되었는지 확인도 할 수 있다. 1-1. 정의(Definition) GoF 디자인 패턴 중 생성 패턴에 해당한다. 빌더 패턴은 복잡한 객체를 생성하는 클래스와 표현하는 클래스를 분리하여, 동일한 절차에서도 서로 다른 표현을 생성하는 방법을..

개발/Spring

[Spring] 스프링 프로젝트 구조 (DTO, Entity and Mapper)

스프링 프로젝트 구조  DTO : 계층 간(Controlelr, View, Business Layer) 데이터 교환을 위한 객체DTO는 getter / setter 메소드를 포함한다. 하지만, 이외의 다른 비즈니스 로직은 포함하지 않는다.Controller :프레젠테이션 계층으로 클라이언트의 요청을 처리서비스에 정의된 비즈니스 로직을 호출 ResponseBody에 데이터를 담아 반환Service : 프레젠테이션(뷰)에서 엔티티에 직접 접근하지않고 비즈니스 로직을 처리할 수 있도록하는 계층Repository에 정의된 비즈니스 로직을 처리하거나 엔티티에 접근Repository(DAO (Data Access Object)) : Entity를 통해 데이터를 DB에 저장 직접 DB에 접근하여 data를 삽입, 삭..

개발/Spring

[Spring] 스웨거 (Swagger) 설정하기

1. 스웨거 Swagger https://swagger.io/ Swagger는 OAS(Open Api Specification)를 위한 오픈소스 프레임워크입니다. 즉, API의 문서를 자동으로 정리해주는 것 입니다. 2. 설정 2-1. @EnableSwagger2 Swagger2 버전을 활성화 하겠다는 어노테이션입니다. 2-2. Docket 빈 설정 Class Docket Swagger 의 주 설정인 Docket Bean 등록 부분입니다. 1. 전체 범위 포함 @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .se..

Developer.do.de.gee
'개발/Spring' 카테고리의 글 목록