일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- JPA
- Spring Boot
- Firebase
- Web
- Connection Pool
- 디자인 패턴
- @ControllerAdvice
- springboot
- multi module
- FCM
- @Valid
- Service Locator 패턴
- @MockBean
- db
- restTemplate
- Item04
- NotBlank
- Effective Java
- Service Locator
- Effetive Java
- @SpyBean
- 이펙티브 자바
- java
- deleteById
- SQL 삽입 공격
- 플라이웨이트
- Proxy Patter
- 트랜잭션
- 데이터베이스
- NotEmpty
- Today
- Total
목록Spring Boot (5)
NoTimeForDawdling
Bean이란? Bean이란 Spring IoC 컨테이너가 관리하는 자바 객체이다. 이때 Bean의 Scope를 지정할 수 있고, Singleton과 Prototype으로 지정할 수 있다. proptotype은 객체 호출 시 매번 새롭게 생성하게 된다. 그렇다면 Bean을 어떻게 만들고 Spring IoC컨테이너에 등록할 수 있을까? 지금부터 한번 알아보도록 하자. Bean 만드는 방법 개발자가 Bean을 만드는 방법은 크게 두 가지가 있다. @Component어노테이션을 이용하는 방법과 @Bean어노테이션을 이용하는 방법이다. @Component @Component어노테이션은 클래스에 명시해 주면 된다. @Component public class ComponentClazz { private final S..
Spring Boot를 사용할 때 Junit을 이용해 테스트 코드를 작성하다 보면 보통 여러 레파지토리와 비즈니스 로직이 함께 있어 테스트 환경을 설정하는데 많은 시간을 사용하고 테스트 대상에 집중하는데 어려움을 느낄 수 있습니다. 이러한 문제를 해결하기 위해 테스트 더블 이라는 것이 나왔습니다. 테스트 더블은 목적에 따라 비슷하면서도 다른 객체를 사용하는 모든 행위를 말합니다. Java에서는 대표적으로 Mockito가 있습니다. Mockito에는 다양한 어노테이션이 있는데 이중에서 @MockBean과 @SpyBean에 대해 알아보겠습니다. @MockBean @MockBean은 기존에 사용되던 Bean의 껍데기만 가져오고 내부 구현은 모두 사용자에게 위임하는 형태입니다. 즉, 해당 Bean의 어떤 메서드..
JpaRepository에서 delete() 메서드를 호출하여 삭제하려고 하는데 삭제가 안 되는 현상이 발생했다..! 코드는 에러없이 잘 돌아갔는데 자세히 보니 delete 쿼리가 실행되지 않았다! 소스 코드 Entity @Entity @Getter @NoArgsConstructor(access = PROTECTED) public class Product { ... @OneToMany(mappedBy = "product", cascade = CascadeType.ALL, orphanRemoval = true) private List interestProductList = new ArrayList(); ... } @Entity @Getter @NoArgsConstructor(access = PROTECTE..
오늘은 Swagger에 Authorization header를 설정하는 방법을 알아보겠습니다. Swagger에 header를 설정하는 방법을 2가지가 있습니다. 각각의 API에 Header 정보를 추가하는 방법 전역으로 관리하는 방법 두 가지 방법을 모두 알아보겠습니다. 참고로 이번 포스트는 JWT 토큰을 통해 로그인 처리를 한다고 가정하고 진행합니다. 1. 각각의 API에 Header 정보를 추가하는 방법 @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket api() { ParameterBuilder parameterBuilder = new ParameterBuilder(); parameterBuilder.nam..
Spring Boot를 이용해서 @Valid 어노테이션을 이용한 유효성 검증 방법을 알아보려 합니다. @Valid를 이용하면, Service단이 아닌 객체 안에서, 들어오는 값에 대한 검증을 할 수 있습니다. Jakarta Bean Validation에서 제공하는 검증 어노테이션을 이용하겠습니다. 해당 어노테이션을 사용하기 위해서는 다음 의존성을 추가해줘야 합니다. implementation 'org.springframework.boot:spring-boot-starter-validation' @Valid 사용 방법 유효성 검증을 위한 간단한 DTO를 작성해 보겠습니다. @Getter @NoArgsConstructor public class UserSaveRequest { @NotNull private ..