Backend/Spring

💡 원본글Top 10 REST Interview Questions for Java and Spring Developers Top 10 REST Interview Questions for Java and Spring DevelopersThese are the best REST Interview Questions for Java and Spring developers to prepare quicklymedium.com 여러분 안녕하세요. Java, Spring 개발자 면접을 준비하고 있으며 Spring REST 면접 질문을 찾고 계신다면 이 글에 잘 찾아왔습니다.이전에, 저는 Spring 개발자 면접을 위해 준비해야 할 13가지 필수 주제와 Spring Framework, Spring..
💡 원본글 : https://thorben-janssen.com/implement-soft-delete-hibernate/ How to implement a soft delete with Hibernate Hibernate supports a set of annotations that allows you to implement a soft delete with minimal coding effort. thorben-janssen.com 일부 응용 프로그램에서는 데이터베이스에서 레코드를 영구적으로 삭제하고 싶지 않거나 삭제가 허용되지 않을 수 있습니다. 그러나 더 이상 활성 상태가 아닌 레코드를 삭제하거나 숨겨야 할 필요가 있습니다. 예를 들어, 여전히 사용 중인 다른 비즈니스 객체에 연결된 사용자 계정을..
💡 원본글 : https://towardsdev.com/data-transfer-object-dto-in-spring-boot-c00678cc5946 Data Transfer Object (DTO) in Spring Boot Explore the benefits of using Data Transfer Objects (DTOs) in Spring Boot, with examples including manual DTO creation, ModelMapper, and… towardsdev.com 이 글에서는 Spring Boot에서 데이터 전송 객체(DTO)의 이점을 탐구하며, 수동 DTO 생성, ModelMapper, Lombok을 포함한 예제들을 살펴볼 것입니다. Photo by Joshua Sorti..
공개하지 말아야 하는 값을 암호화 해보자. (jasypt를 사용하기.) 서론 최근 노마드 커뮤니티 사이드 프로젝트를 진행 하던 중에, 프로덕션 DB 연결하기 위한 URL, name, password를 application.yml에 넣어야 하는데, 깃헙으로 코드를 관리하고 있던 차라 단순히 올리기가 어려운 문제가 있었습니다. AWS의 Parameter Store와 같은 기능을 쓰면 좋지만, 현재 초기 단계이고 빠르게 서버 구축을 해두고 계속해서 배포하면서 QA를 진행하고 MVP를 구현해야 하는 단계에서 Parameter Store를 사용하기 보단, 다른 방법을 사용하는것이 좋겠다. 라고 생각해서 검색을 하다가 jasypt라는 라이브러리를 찾게 되었고 해당 라이브러리로 적용한 방법을 공유합니다. 관련 라이브..
Spring JPA의 @Table 어노테이션에 대해서 알아보자 - name을 어떻게 매핑하는가? 서론 Entity와 Table을 매핑하기 위해 사용하는 어노테이션은 @Table 어노테이션 입니다. 실제 @Table 어노테이션이 어떤 역할을 해주는것인지, 또한 각 속성값을 어떻게 동작시키게 되는지에 대해서 알아볼 예정입니다. 코드를 살펴보다가, 대체 @Table 의 name은 어떻게 매핑이 되는건지?에 대한 궁금증이 생겨서 그걸 중점적으로 이야기를 나눠보도록 하겠습니다. 어노테이션 코드 살펴보기 package jakarta.persistence; import java.lang.annotation.Target; import java.lang.annotation.Retention; import static j..
IntelliJ IDE에서 Spring Initializr를 이용해 프로젝트를 생성해보자. 서론 이 글은 Intelli J를 통해 Spring 프로젝트를 생성해보는 글입니다. Spring 프로젝트를 만드는 방법은 여러가지 있지만, 간단히 만들어 볼 예정입니다. 단계 IntelliJ IDE를 설치를 진행합니다. 설치는 IntelliJ IDE를 실행합니다. 위 사진 페이지에서 New Project를 클릭합니다. 그리고 왼쪽 Generators에서 Spring Initializr를 클릭합니다. 위 사진의 각 값들을 채워넣습니다. Name: 프로젝트 이름 Location: 로컬 내에 저장할 경로 Language: 사용할 언어 Type: Build 도구 선택 Group: 패키지 그룹 Artififact: 프로젝트..
Spring의 ResponseEntity에 대해 알아보자 해당 글은 Java 11과 SpringBoot 2.6.1 버전으로 작성되었습니다. ResponseEntity란? Spring 3.0.2 부터 등장한 HttpStatus 상태 코드를 추가하는 HttpEntity의 확장으로 RestTemplate과 @Controller 메서드에서 사용됩니다. RestTemplate에서는 getForEntity() 와 exchange() 에 의해 반환됩니다. 빌더 형식과 객체 생성 둘다 사용이 가능합니다. return new ResponseEntity("Hello World", responseHeaders, HttpStatus.CREATED); return ResponseEntity.created(location) .h..
@Id / @GeneratedValue에 대해 알아보자 PK를 나타내기 위해 @Id 어노테이션을 사용하며, 생성 전략을 정의하기 위해 @GeneratedValue 를 사용한다. 해당 어노테이션에 대해서 알아보도록 하자. @Id package javax.persistence; import java.lang.annotation.Target; import java.lang.annotation.Retention; import static java.lang.annotation.ElementType.FIELD; import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.RetentionPolicy.RUNTIME; ..
Spring Boot Tips, Tricks and Techniques Tip 1. 테스트에서 랜덤 HTTP 포트 사용하기 스프링 부트 테스트에서 정적 포트를 사용하면 안됩니다. 특정 테스트에 대해 @SpringBootTest 에서 webEnviroment 필드를 사용합니다. 기본값은 DEFINED_PORT 로 제공하는데 이 옵션 대신 RANDOM_PORT 를 사용하세요. 그 이후에 @LocalServerPort 를 사용해 테스트에 포트 번호를 삽입할 수 있습니다. 몇 가지 Spring Boot 테스트 팁부터 시작하겠습니다. Spring Boot 테스트에서 정적 포트를 사용하면 안 됩니다. 특정 테스트에 대해 이 옵션을 설정하려면 의 webEnvironment필드 를 사용해야 합니다 @SpringBoot..
Spring Boot Welcome Page 서론 Spring Boot supports both static and templated welcome pages. It first looks for an index.html file in the configured static content locations. If one is not found, it then looks for an index template. If either is found, it is automatically used as the welcome page of the application. 위의 spring boot docs에 따르면 static폴더의 index.html을 찾아 맨 처음 /(루트) view(Welcome Page)로 지정..
Seyun(Marco)
'Backend/Spring' 카테고리의 글 목록