전체글236 MediaType.APPLICATION_JSON_UTF8가 deprecated 되었다 사이드프로젝트 테스트 코드 작성중에 MediaType.APPLICATION_JSON_UTF8가 deprecated 된 것을 확인했다. 스프링 부트 2.2.*부터 MediaType 중에 (UTF8)인코딩이 들어간 상수가 deprecation 되었다고 한다. 따라서 코드를 아래와 같이 바꿔주면 된다. 2021. 5. 12. Id 필드에 @GeneratedValue(strategy = GenerationType Spring Boot는 Hibernate의 id 생성 전략을 그대로 따라갈지 말지를 결정하는 useNewIdGeneratorMappings 설정이 있다. 1.5에선 기본값이 false, 2.0부터는 true Hibernate 5.0부터 MySQL의 AUTO는 IDENTITY가 아닌 TABLE을 기본 시퀀스 전략으로 선택된다. 즉, 1.5에선 Hibernate 5를 쓰더라도 AUTO를 따라가지 않기 때문에 IDENTITY가 선택 2.0에선 true이므로 Hibernate 5를 그대로 따라가기 때문에 TABLE이 선택 자세한 내용은 이동욱님의 블로그에 아주 잘 정리가 되어 있으니 참고 링크로 대체한다. 참고 Spring Boot Data JPA 2.0 에서 id Auto_increment 문제 해결 2021. 5. 12. Slf4j 사용하는 방법 롬복이 적용되어 있다는 가정 하에 @Slf4j만 선언해주면 log 변수를 통해 Slf4j 로그를 사용할 수 있다. 코드 @RestController @RequiredArgsConstructor @Slf4j public class CarApiController { private final CarService carService; @PostMapping("api/car") public String saveCar(@RequestBody CarSaveRequestDto requestDto, BindingResult result) { log.info("\n=== saveCar start ===\n=== requestDto: " + requestDto); if (result.hasErrors()) { return .. 2021. 5. 12. 테스트할 때 MockMvc 주입받는 방법 JUnit으로 테스트 코드를 작성할 때 MockMvc를 많이 사용하게 된다. MockMvc를 주입받는 방법은 2가지가 있다. @WebMvcTest 사용 @WebMvcTest를 사용하면 컨트롤러 클래스를 주입받을 수 있다. 단, 서비스나 리포지토리 클래스는 주입받을 수 없다. 따라서 컨트롤러만 테스트할 경우 사용한다. 이 때 @WebMvcTest를 사용하면 MockMvc를 주입받아서 사용할 수 있다. 코드 @RunWith(SpringRunner.class) @WebMvcTest public class HelloControllerTest { @Autowired private MockMvc mvc; @Test public void hello가_리턴된다() throws Exception { // given St.. 2021. 5. 12. 이전 1 ··· 50 51 52 53 54 55 56 ··· 59 다음