Spring
-
HikariCP, 일단 connection 맺어 본다Database 2022. 11. 16. 23:18
1) 서론 이번 글에서는 HikariCP의 설정에 대해서 공부한 것을 공유드리려고 합니다. 이미 설정을 해보시고 테스트해본 분께는 쉬운 내용이므로 읽지 않으셔도 좋습니다. 2) 아이디어 출발점 중요한 새로운 모바일 애플리케이션 출시를 앞두고 있었습니다. 사용자들은 업데이트 후 재로그인이 필수인 상황 대대적인 공지로 인해 오전 평소보다 많은 요청 발생 예상 매우 제한된 IDC 레거시 인증 담당 서버의 담당자는 하필 주니어인 나... 배포를 앞두고 걱정이 되어 괜히 이래저래 문제가 없을지 고민해봅니다. 이미 계약된 IDC의 물리적인 하드웨어 스펙은 현재 개선할 수 없습니다. 그래서 애플리케이션과 DB의 설정을 확인해보는데요. 혹시 N+1 쿼리가 발생할 수 있는지 확인 DB connection 부족하지 않은지..
-
@Transactional rollback과 테스트 의문점Spring Framework 2022. 1. 24. 00:52
1) 서론 업무 중 특정한 경우에 count +1 후 exception을 발생시켜야 하는 로직이 필요했었습니다. 하지만 해당 메서드는 @Transaction이 반드시 필요했고, exception이 발생하면 rollback 되는 현상이 있었습니다. 이를 해결하기 위해서 테스트 코드를 나름대로 작성했는데요. 이 과정에서 의문점이 생긴 이야기입니다. 2) 전체 흐름 실제 업무에서 사용한 내용이 아닌, 기록을 위해 작성한 코드입니다. 상황 설정이 매우 억지스러운 것은 이해 부탁드립니다. private final PostRepository postRepository; private static final String unAuthorizedTitle = "어드민"; @Transactional public void ..
-
[Spring Framework]스프링 커맨드 객체Spring Framework 2021. 1. 1. 11:37
이 글에서는 Spring MVC의 View 페이지에서 서버로 데이터를 넘기고, 받는 방법에 대해서 알아보려고 합니다. 대표적으로 로그인, 회원가입할 때 사용자가 입력한 정보를 가지고 와서, DTO에 저장을 하는 것들이 있는데요. @RequestParam 방식 view.jsp @RequestParam을 사용한 Controller 보통 스프링 기초 책에서 자주 보이고, 보편적으로 많이 사용하는 방식 입니다. 여기서 주의해서 봐야 할 점은 Controller의 View에서 요청한 파라미터(parameter)를 받는 방식 입니다. @RequestParam 애노테이션을 사용해서 매개변수로서 받아오고 있습니다. 그리고 이 매개변수를 서비스 인터페이스에 넣어, DB와 동작을 하고 있습니다. 제가 생각하는 장점은 요청..
-
[Spring Framework] IoC container / ScopeSpring Framework 2020. 7. 27. 15:43
오늘은 스프링 프레임워크의 핵심인 IoC container에 대해서 공부하려고 합니다. 1. IoC container IoC container는 IoC, 즉 Inversion of Control(제어의 역전)을 가능하게 해주는 컨테이너 입니다. 이 컨테이너는 빈이 생성될 때 의존성을 주입하고, 빈들의 인스턴스화를 해주는 빈을 관리하는 컨테이너 입니다. 하지만 스프링 API를 보시면 IoC Container가 어떤 클래스나 인터페이스로 존재하는 것이 아닙니다. 즉 IoC를 가능하게 해주는 컨테이너라는 패턴 혹은 프로그래밍 기법이라고 생각하시면 됩니다. 그렇다면 실질적으로 스프링 프레임워크는 어떤 인터페이스나 클래스를 정의해서 빈들을 관리하고 있을까요? 2. BeanFactory interface 스프링 프..