Java429 [Mockito] ArgumentMatchers 및 any,eq ArgumentMatchers ArgumentMatchers는 메소드 호출 시 특정 인자값과 일치하는지, 혹은 특정 조건을 만족하는지를 확인하는 데 사용되는 도구입니다. Mockito는 여러 가지 Argument Matchers를 제공하며, 사용자는 이를 활용하여 원하는 조건에 맞는 인자를 검증할 수 있습니다.🏷️ ArgumentMatchers.any() Mocking 된 메소드를 설정하기 위한 방법은 여러 가지가 있는데, 첫 번째는 메소드에 "고정된 값"을 사용합니다.doReturn("...").when(userAccountService).getUserInfo("...");위와 같이 doReturn()이나 do()에 사용된 문자열처럼 고정된 값을 사용할 수 있습니다. 하지만 모든 테스트가 고정된 값만.. 2024. 10. 21. [JPA] @PrePersist와 @PreUpdate @PrePersist@Column(name = "created_at")private LocalDateTime createdAt;@PrePersistvoid createdAt() { this.createdAt = LocalDateTime.now();} 엔티티가 생성될 때마다 실행되어야 하는 로직을 구현하는 데 사용되며, 엔티티가 생성될 때마다 현재 날짜를 값으로 설정하는 로직 등을 구현할 수 있습니다. 또한, 위의 이미지같이 JPA 엔티티(entity)가 비영속 상태에서 영속 상태가 되는 시점 이전에 실행이 되게 됩니다.@PreUpdate@Column(name = "modified_at")private LocalDateTime modifiedAt;@PreUpdatevoid modifiedAt() { .. 2024. 10. 18. [JWT] JWT 0.12.5 최신화 문제 해결 예전 공부할 때, 사용했던 JWT 및 Key 생성을 직접 사용해 보고 그때보다 좀 더 최신 버전을 사용하고 싶었습니다.public class JwtTokenUtils { // 토큰에서 username 가져옴 public static String getUserName(String token, String key) { return extractClaims(token, key).get("userName", String.class); } // 종료 시간 public static boolean isExpired(String token, String key) { Date expiredDate = extractClaims(token, key).getExpir.. 2024. 7. 20. [Java] 팩토리 메소드 팩토리 메소드팩토리(Factory)는 '공장'이라는 뜻을 가지고 있습니다. 일반적으로 클래스의 객체를 생성할 때, 생성자를 통해서 객체를 생성하지만 팩토리 메소드 라는 공장을 통해서 객체를 만들 수도 있습니다.public class User{ private String username; public Person(String username){ this.username = username; }}위에 코드는 Java로 객체를 작성할 때, 많이 사용하던 코드입니다.User user = new User("유저 이름");그리고 우리는 객체를 생성할 때, 위와 같이 생성자 호출을 통해서 객체를 생성했습니다. 그런데 우리는 생성자의 인자만 봐서는 이것이 유저 이름을 나타내는 것인지.. 2024. 7. 13. [Java] DTO를 Record로 만드는 이유 Record// 레코드 선언법public record 레코드명(컴포넌트1, 컴포넌트2, ...) { }값의 집합으로 이루어진 간단한 객체를 심플하게 개발하기위해 고안되었으며, immutable data(불변데이터)를 다룰 class 구현에 최적화되어있습니다. 따라서 웹서비스 구현에서 많이 사용되는 DTO 개념에 적용하면 유용합니다. 생성자, accessors(getter), equals(), hashCode(), toString() 등 DTO 특성의 클래스를 개발할때 매번 개발자가 직접 구현해주어야 했던 반복적인 작업이 줄어듭니다. 또한, "이 클래스는 data carrier 용도이다"를 명시적으로 나타낼 수 있으므로 코드에 대한 이해를 돕고 해당 클래스의 목적에 맞지 않는 구현을 하지 않도록 방지해줍니.. 2024. 4. 17. [Java] Lombok LombokLombok이란 어노테이션 기반으로 코드를 자동완성 해주는 라이브러리입니다. Lombok을 이용하면 Getter, Setter, Equlas, ToString 등과 다양한 방면의 코드를 자동완성 시킬 수 있습니다. 예를 들어 객체에서 생성자도 필요하고, toString 함수도 Override 해야하는 등 추가적인 작업이 필요하다면 1개의 VO 클래스만 해도 상당히 길어지고, 코드의 가독성은 떨어지는 등의 단점이 있습니다. 하지만 Lombok을 적용한다면 아래와 같이 단순화시킬 수 있습니다.// Lombok 적용 전public class User { private String useuId; // 유저ID private String password; // 비밀번호 // 생.. 2024. 3. 10. 이전 1 ··· 65 66 67 68 69 70 71 72 다음