본문 바로가기

프레임워크/스프링24

Spring Scheduler와 Spring Quartz 차이 스케줄러러를 사용할 일이 있었는데 찾아 보니까 Spring에서 Spring Scheduler와 Spring Quartz라는 2가지 방식으로 제공됩니다. Spring Scheduler 제가 프로젝트에서 채택했던 방식입니다. 사용법이 쉽고 Spring Boot starter에서 지원하기 때문에 따로 의존성을 추가 하지 않고 어노테이션만 추가하면 사용할수 있습니다. ScheduledConfig.java @Configuration @EnableAsync @EnableScheduling public class ScheduledConfig implements SchedulingConfigurer { @Override public void configureTasks(ScheduledTaskRegistrar taskR.. 2024. 4. 13.
Mockito와 BDDMockito 테스트 코드 작성중에 의문이 생겼습니다. mock 객체를 when().thenReturn()을 통해 사용하고, 어떤 부분에서는 given().willReturn()을 통해 사용하는 것이었다. import 문을 확인해보니 전자는 org.mockito.Mockito를 import하고 후자는 org.mockito.BDDMockito를 import한다. Mockito? spring은 객체간의 의존성을 관리해주는데 이 의존성은 테스트 코드 단위테스트를 작성할때 문제가 생긴다. 의존성을 가지는 다른 객체에 의해 테스트 결과가 영향을 받는다. 그래서 내가 원하는 동작만 하도록 하는것이 Mock 객체다. 이를 편하게 사용하도록 지원하는것이 Mockito 이다. 예제 소스 import org.junit.jupiter.a.. 2024. 3. 20.
[Spring] MockMvc MockMvc란? MockMvc는 웹 어플리케이션을 애플리케이션 서버에 배포하지 않고 테스트용 MVC환경을 만들어 요청 및 전송, 응답기능을 제공해주는 유틸리티 클래스다. WebAppConfiguration @Mock UserRepository userRepository; @BeforeEach void mockMvcSetUp( final WebApplicationContext context, final RestDocumentationContextProvider provider) { JwtAuthenticationProvider jwtAuthenticationProvider = new JwtAuthenticationProvider(AuthFixture.tokenProvider()); // MockMvc를 .. 2024. 3. 18.
[Spring] 프로메테우스, 그라파나 아키텍처 사용 프로메테우스?? 애플리케이션에서 발생한 메트릭을 그 순간만 확인하는 것이 아니라 과거 이력까지 함께 확인하려면 메트릭을 보관하는 DB가 필요한데 이렇게 하려면 어디선가 메트릭을 지속해서 수집하고 DB에 저장해야 한다. 프로메테우스가 바로 이런 역할을 담당한다고 합니다. 출처: https://prometheus.io/docs/introduction/overview/ 내가 사용하는 애플리케이션과 연동을 하려면 프로메테우스 포멧에 맞추어야 한다고 한다. 그리고 수집설정을 하면된다고 한다. 프로메테우스 - 애플리케이션 설정 build.gradle 추가 implementation 'io.micrometer:micrometer-registry-prometheus' //추가 실행 http://localhost:808.. 2024. 2. 16.