본문 바로가기

Spring130

테스트 케이스 설정 방법 - Memory DB 사용하기 테스트 케이스를 위한 설정 테스트는 케이스 격리된 환경에서 실행하고, 끝나면 데이터를 초기화하는 것이 좋다. 그런 면에서 메모리 DB를 사용하는 것이 가장 이상적이다. 추가로 테스트 케이스를 위한 스프링 환경과, 일반적으로 애플리케이션을 실행하는 환경은 보통 다르므로 설정 파일을 다르게 사용하자. 다음과 같이 간단하게 테스트용 설정 파일을 추가하면 된다. 테스트 파일은 원래 기존 application.yml 의 설정에 따라 실행된다.만일, 아래 사진처럼 test 에 따로 만들어준다면 우선순위가 바뀌기 때문에 test 폴더 안의 설정에 따르게 된다. ( DB 기본설정은 메모리DB 이다 ) 2022. 8. 17.
@Profile 활용하기 현업에서는 환경을 다양하게 해서 해당 환경에서만 동작하는 빈을 만드는 경우가 있다. @Profile를 활용해서 내가 사용하고 싶은 빈만 사용할 수 있다. 사용방법은 아래와 같다. 어떤 환경에서 동작시키고 싶은 클래스 위에 @Profile 을 붙여준다. 보통 sandbox(테스트환경) / beta(실운영과 가장비슷) / production(실운영) 으로 나뉜다고 한다. 붙여진 프로파일 환경으로 설정하는 방법이다. 환경변수에서는 spring.profiles.active=이름 을 붙여주면된다. 이름에는 @Profile("이름") 에 들어간 명칭과 같은 이름을 붙여주면된다. 2022. 7. 21.
@JsonIgnore 와 @JsonIgnoreProperties @JsonIgnore 와 @JsonIgnoreProperties 클라이언트에게 JSON 데이터를 넘겨줄 때, 해당 객체의 값을 보이지 않게 하는 어노테이션이다. 예를들어, GET 요청으로 User 정보를 요청했는데, 비밀번호나 주민등록번호 등 보안에 민감한 사항을 제외하고 싶을 때 사용한다. @JsonIgnore 사용해서 클라이언트에게 응답할 때 제외하고 데이터를 보내주려고 한다. 비밀번호와 주민등록번호 객체를 추가해주었다. 아직 데이터베이스를 연결하지 않아서... 초기실행시 static 블럭을 통해 3명의 유저를 추가해주었었는데, 생성자에 비밀번호와 주민등록 번호도 같이 넣어줬다. 포스트맨에서 GET 요청으로 모든 유저정보를 요청해보았다. JSON 형식으로 된 응답 데이터를 보면 @JsonIgnore .. 2022. 7. 8.
log(로그,로깅) 로그에 대해 알아보자. 로그 사용시 장점 쓰레드 정보, 클래스 이름 같은 부가 정보를 함께 볼 수 있고, 출력 모양을 조정할 수 있다. 로그 레벨에 따라 개발 서버에서는 모든 로그를 출력하고, 운영서버에서는 출력하지 않는 등 로그를 상황에 맞게 조절할 수 있다. 시스템 아웃 콘솔에만 출력하는 것이 아니라, 파일이나 네트워크 등, 로그를 별도의 위치에 남길 수 있다. 특히 파일로 남길 때는 일별, 특정 용량에 따라 로그를 분할하는 것도 가능하다. 성능도 일반 System.out보다 좋다. (내부 버퍼링, 멀티 쓰레드 등등) 그래서 실무에서는 꼭 로그를 사용해야한다. 사용법 Logger 를 사용해서 log 를 만들어 사용할 수 있다. 주의 할점은 Http body에 직접 출력해주어야 하기 때문에 @RestC.. 2022. 6. 8.