Spring Framework

Spring Framework/Spring boot

Spring Boot Open-In-View 설정과 데이터베이스 성능 최적화, 영속성 컨텍스트 활용법

OSIV - Open Session In ViewOSIV OnJPA에서 Entity Manager가 Hibernate에서 Session 역할을 수행합니다.spring.jpa.open-in-view: true (default)OSIV 전략은 트랜잭션 시작처럼 최초 데이터베이스 커넥션 시작 시점부터 API 응답이 끝날 때까지 영속성 컨텍스트와 데이터베이스 커넥션을 유지합니다. (Lazy Loading…) 지연 로딩은 영속성 컨텍스트가 살아있어야 가능합니다. (영속성 컨텍스트는 기본적으로 데이터베이스 커넥션을 유지합니다.)OSIV가 on인 경우에 Service 계층에서 @Trasanctional이 끝나도 데이터베이스 커넥션이 끊기지 않는다. 지연로딩과 같이 프록시 객체가 초기화되는 경우가 있으므로 사용자에게 ..

Spring Framework/Spring

Spring MessageSource를 이용한 다국어 메시지 처리: LocaleResolver와 LocaleContextHolder 활용법

MessageSourceSpring이 기본적인 메시지와 국제화 기능을 제공하는 인터페이스입니다.이를 통해 각 나라별로 메시지 파일을 관리하여, 사용자의 언어별로 메시지를 전달할 수 있습니다.서버는 HTTP Accept-Language 헤더 값을 통해 message 언어를 기본적으로 설정해 줍니다.// messages_ko.propertieserror.key=기본 에러 메시지error.value={0} 에러 필드// === //// messages_en.propertieserror.key=Default error messageerror.value={0} error field Message Properties 생성Bundle 생성 방법사용할 Locale properties 생성 MessageSource 설정..

Spring Framework/Spring

Spring @RequestParam 페이징 정보 처리하기 - Pageable, @PageableDefault, sort

Pageable, @PageableDefault@GetMapping("/product/search")public Page searchProduct( @RequestParam(value = "category", required = false) String category, @RequestParam(value = "price", required = false) Integer price, @PageableDefault( page = 0, size = 10, sort = "id", direction = Direction.DESC) Pageable pageable) { ProductVO productVO = ProductVO.of(category..

Spring Framework/QueryDSL

Querydsl OrderSpecifier를 활용한 동적 정렬 방법 - Pathbuilder, Sort

QueryParameter - Sort/search?category=book&price=1000&page=0&size=10&sort=id,asc&sort=price,desc 정렬 조건은 queryparameter를 통해 주로 전달합니다.ex) sort=id,asc- 위 코드는 id 값을 기준으로 오름차순 정렬을 의미합니다. 복수 개의 정렬은 단일 조건이 여러 번 전달받는 것과 같습니다.ex) sort=id,asc&sort=price,desc querydsl에서 정렬 조건을 주기 위해 2가지 방법이 있습니다.QEntity.field.asc() / QEntity.field.desc()첫 번째는 정적인 방법으로 QEntity.field.asc() / QEntity.field.desc() 방법이 있습니다.ret..

kylo
'Spring Framework' 카테고리의 글 목록 (4 Page)