전체 글

카테고리 없음

JUnit5와 JUnit4의 차이점 + AssertJ 와 Junit Assertions

테스트 코드작성하기위해 찾아보던 자료중 어쩌다 JUnit4을 발견해서 JUnit5과 차이점을 알아보기위해 작성했습니다. JUnit 자바 프로그래밍 언어용 유닛 테스트 프레임워크 테스트 결과는 Test클래스로 개발자에게 테스트 방법 및 클래스의 History를 공유 가능 단정(assert) 메서드로 테스트 케이스의 수행 결과를 판별 어노테이션으로 간결하게 지원(JUnit4부터) 스프링부트에서는 언제부터 Junit5를 지원하게되었나? SpringBoot 2.2.x 버전이 release 되면서 예전의 SpringBoot에서 Junit4 버전이 Junit5이 기본으로 변경되었습니다. Junit5는 Java 8 이상의 버전을 요구합니다. Junit4 vs Junit5 Junit4 > vintage-engine J..

카테고리 없음

핸들러 인터셉터, 필터, AOP, 아규먼트리솔버, 메시지 컨버터

핸들러 인터셉터란? 핸들러 맵핑에 설정할 수 있는 인터셉터 ● 핸들러를 실행하기 전, 후(아직 랜더링 전) 그리고 완료(랜더링까지 끝난 이후) 시점에 부가 작업을 하고 싶은 경우에 사용할 수 있다. ● 여러 핸들러에서 반복적으로 사용하는 코드를 줄이고 싶을 때 사용할 수 있다. ex) 로그인 체크, 권한 체크 등이 있습니다. prehandle, posthandle, afterCompletion 서블릿 필터 ● 핸들러 인터셉터는 서블릿 보다 구체적인 처리가 가능하다. ● 서블릿은 보다 일반적인 용도의 기능을 구현하는데 사용하는게 좋다. 아래와 같이 핸들러 인터셉터는 이제 URI나 http에 관한내용도 건들수있기때문에 더 디테일하다 @Override public boolean preHandle(HttpSer..

카테고리 없음

레디스란?

쿠팡에서 레디스DB라는 문제가 발생했다고한적이있다. 왜 이런일이발생했을가? 32비트 CPU에서 최댓값은 Integer.MAX값 왜 이게 나오냐 key값이 너무 많아지면 문제가생긴것이쿠팡이다. 그래서 레디스 패치내용에서는 long으로 바꿨다 What is Redis 외부에있는 Dictionary(Hash map : key-value)를 사용하는 데이터베이스(Server) = 메모리상에 저장하는 데이터를 저장하는 서버(In Memory Data Strucete store) Cache란? 나중의 요청에 대한 결과를 미리 저장했다가 빠르게 사용하는 것 (예상되는 요청결과값을 저장해두었다가 전달하는거) 어디에? 저장하는게 빠를가? 바로 이걸알기위해선 메모리 계층을 알아야합니다 위로갈수록 빠르고 비싸고 아래로는 크..

카테고리 없음

스프링부트 2.7.0 Mock 빈 주입 오류

@AutoConfigureMockMvc @SpringBootTest class UserControllerTest { @Autowired MockMvc mockMvc; @Autowired ObjectMapper objectMapper; @Test void signup_success() throws Exception { UserDto userDto = UserDto.builder() .id("icwgi897") .password("1234") .level(UserLevel.USER) .build(); String reqeust = objectMapper.writeValueAsString(userDto); System.out.println(reqeust); mockMvc.perform(post("/signup..

카테고리 없음

Spring Boot 빈 자동주입 의문

프로젝트하기전 테스트를 하기위해 Config파일작성중 의문이생겼습니다. 스프링부트 2.7.0버전은 properties에있는 파일을 자동주입을 안해주었습니다. 그래서 버전을 스프링부트 2.5.0으로 바꿔서 해보니 자동주입이되었지만 안되길레 오류인줄알고 Spring Boot 에 issue를 등록했더니 그래서 찾아보고 META-INF파일에 spring.facotries를 통해서 자동주입 설정을 해도안되길레 다른방법으로 의존성을 추가헀더니 해결이되었다. (IDEA문제는 아닌거같다) // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-autoconfigure implementation group: 'org.springframewor..

cwangg897
wang's tech blog