본문 바로가기

Spring32

JPA Auditing 을 이용한 생성 시간과 수정 시간 자동화하기 JPA Auditing 을 이용한 생성 시간과 수정 시간 자동화하기 스케줄 기능을 이용하여 전날에 문의 들어온 문의 개수를 알려주는 알람 기능을 구현하던 도중에 문의를 남겼을시에 카운트를 할 수 있지만 그렇게 되면 카운트 값을 저장을 해야하기 때문에 Audit Log을 위해 생성하였던 생성 시간을 이용하기로 하였다. 이때 사용되었던 JPA Auditing을 이용한 생성일과 수정일을 자동화하는 방법에 대해 정리한다. JPA Auditing을 사용하지 않고 메서드를 따로 만들어서도 가능하겠지만 그렇게되면 db에 수정이나 생성등의 작업이 이루어질때마다 메서드가 실행되야 되기 때문에 비효율적이며 코드도 지저분해진다. Date Entity 생성하기 각 Entity 마다 Date를 저장할 멤버 변수를 생성해도 되지.. 2021. 10. 8.
Spring - Singleton 컨테이너 정리. Spring - Singleton 컨테이너 정리 스프링에서의 싱글톤 패던에 관하여 좀더 깊이있게 공부하는 과정에 내용을 정리한다. 싱글톤패턴이란? 싱글톤패턴이란 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴이다. 아래에 예시는 싱글톤패턴을 짤때 미리 객체를 생성해두는 가장 단순하고 안전한 방법이다. //1. static 영역에 객체를 딱 1개만 생성해둔다. private static final SingletonService instance = new SingletonService(); //2. public으로 열어서 객체 인스터스가 필요하면 이 static 메서드를 통해서만 조회하도록 허용한 다. public static SingletonService getInstance() { re.. 2021. 8. 2.
Spring - JUnit5을 이용한 단위 테스트 (기본 어노테이션 및 AssertJ) Spring - JUnit5 기본 테스트 어노테이션 JUnit5의 단위테스트 방법과 어노테이션 및 assert메서드를 정리한다. JUnit5? 자바용 단위테스트 프레임워크이다. 5는 버전을 의미하며 4버전에서 5버전으로 바뀌며 접근제한자가 public에서 Default여도 되게 바뀌었다. 단위테스트? 작성한 소스코드가 의도한 대로 정확히 동작하는지 검증하는 절차를 말한다. 모든 메서드에 대한 테스트 케이스를 작성하고 검증한다. 테스트 방법 테스트 클래스를 만들어 해당 테스트 메서드에 @Test어노테이션을 붙여준다. 그리고 테스트 코드를 작성할때 given-when-then 패턴을 사용하면 테스트코드 작성시 많은 도움이 된다. given - 테스트에서 구체화하고자 하는 행동을 시작하기 전에 테스트 상태를 .. 2021. 8. 1.
Spring - Port 8080 is already in use 에러 해결 Spring - Port 8080 is already in use 에러 해결 스프링부트에 내장된 톰캣의 기본 포트값은 8080을 사용해서 스프링부트를 실행했을때 8080번은 사용을 하고 있으면 다음과 같은 에러가 발생하게 된다. 해결방법은 간단하다. 1. 기본 포트 8080을 다른 포트로 변경해준다. 2. 기존에 사용하고 있던 8080번을 kill 명령어로 통해 종료한다. 8080포트 변경하기 프로젝트에 보면 application.properties 파일에 다음과 같이 서버 포트 정보를 입력한다. 그 후 인텔리제이를 재부팅한다. kill 명령어를 통해 종료하기 이 부분은 기존에 정리했던 포스팅에 있어서 링크로 대체한다. https://sjparkk-dev1og.tistory.com/62?category=.. 2021. 7. 22.
Spring - redirect 시 parameter 전달 방법 redirect 시 parameter 전달 방법 redirect시 parameter값을 전달하고 싶을때 RedirectAttributes를 사용한다. RedirectAttributes를 통해서 값을 넣어주고 받는 쪽은 @RequestParam으로 받는다. 하지만 일회성 데이터라 새로고침을 하면 날라가는 데이터이다. 사용목적에 따라서 판단을 잘해서 사용해야한다. 2021. 5. 20.
Spring - Scheduler 설정 방법 및 사용방법 Spring - Scheduler 설정 방법 및 사용방법 일정 시간마다 실행해줘야하는 기능이 있어서 찾아보니 스프링에서 제공해주는 스프링 스케줄러를 이용하기로 했다. 스프링 스케줄러는 일정한 시간간격 또는 일정한 시각(설정가능)에 특정 로직을 돌리기 위해서 사용한다. 비슷한 기술로는 스프링쿼츠와 배치라는 기술이 있다. 스프링 스케줄러는 쿼츠와는 다르게 따로 별로의 의존성추가 작업이 필요없이 어노테이션을 이용하여 작업이 가능하다. 1. xml 설정 방법으로는 어노테이션을 사용하는 방법과 xml에 직접 기술하는 방법 두가지로 나뉜다. 위의 방법은 어노테이션 설정 방법이다. 2. Annotation 사용방법 설정이 끝났다면 스케줄러 설정이 필요한 해당 서비스에 @Scheduled 어노테이션을 붙여주고 원하는 .. 2021. 5. 14.