본문 바로가기

프레임워크36

[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.
[JPA] Hint & Lock 쿼리 힌트(JPA Hint) 사용하는 이유 영속성 컨텍스트가 Dirty Checking(변경 감지)을 해서 트랜잭션이 끝나는 시점에 자동으로 엔티티를 업데이트 하는데 이럴 경우 의도하지 않아도 업데이트 되는 걸 방지 하기 위해서 사용한다. 쿼리 힌트 사용 @QueryHints(value = @QueryHint(name = "org.hibernate.readOnly", value = "true")) Member findReadOnlyByUsername(String username); 쿼리 힌트 사용 확인 @Test public void queryHint() throws Exception { //given memberRepository.save(new Member("member1", 10)); em.flus.. 2024. 2. 23.
[Spring] 프로메테우스, 그라파나 아키텍처 사용 프로메테우스?? 애플리케이션에서 발생한 메트릭을 그 순간만 확인하는 것이 아니라 과거 이력까지 함께 확인하려면 메트릭을 보관하는 DB가 필요한데 이렇게 하려면 어디선가 메트릭을 지속해서 수집하고 DB에 저장해야 한다. 프로메테우스가 바로 이런 역할을 담당한다고 합니다. 출처: https://prometheus.io/docs/introduction/overview/ 내가 사용하는 애플리케이션과 연동을 하려면 프로메테우스 포멧에 맞추어야 한다고 한다. 그리고 수집설정을 하면된다고 한다. 프로메테우스 - 애플리케이션 설정 build.gradle 추가 implementation 'io.micrometer:micrometer-registry-prometheus' //추가 실행 http://localhost:808.. 2024. 2. 16.
[Spring] actuator 액츄에이터? 시스템을 움직이거나 제어하는데 쓰이는 기계 장치라는 뜻입니다. build.gradle - 추가 implementation 'org.springframework.boot:spring-boot-starter-actuator' //actuator 추가 액츄에이터는 /actuator 경로를 통해서 기능을 제공한다. { "_links": { "self": { "href": "http://localhost:8080/actuator", "templated": false }, "health-path": { "href": "http://localhost:8080/actuator/health/{*path}", "templated": true }, "health": { "href": "http://localho.. 2024. 2. 15.