본문 바로가기

전체 글71

[Spring Framework] DB 커넥션 풀, HikariCP, MyBatis DB Connection Pool DB 커넥션 풀이란, 데이터베이스와 연결된 Connection 객체를 미리 만들어 풀에서 관리하고, 요청이 발생하면 제공하고 사용이 끝나면 다시 Connection Pool에 반환하는 데이터 엑세스 패턴을 말한다. 미리 만들어진 Connection을 재사용하면 CPU의 부담과 시간을 줄일 수 있다는 장점이 있다. HikariCP HikariCP는 130kb의 가벼운 용량과 빠른 속도를 가지는 JDBC의 커넥션 풀 프레임워크이다. 즉, HikariCP는 DB 커넥션 풀을 관리해준다. SpringBoot는 2.0 버전부터 기존에 커넥션 풀 관리를 위해 사용하던 Tomcat을 HikariCP로 교체했기 때문에, spring-boot-starter-data-jpa나 spring.. 2022. 8. 3.
[SpringBoot] 단위 테스트(Unit Test): 비밀번호 안전도 검사 테스트 public enum PasswordStrength { INVALID, WEAK, NORMAL, STRONG } enum은 상수의 집합으로 이루어진 객체이다. 비밀번호 안전도 검사 결과는 유효하지 않음, 약함, 보통, 강함 총 4개의 상수로 지정하였다. public class PasswordStrengthMeter { public PasswordStrength meter(String pw) { if(pw == null || pw.isEmpty()) return PasswordStrength.INVALID; int meetCounts = 0; if(pw.length() >= 8) meetCounts++; boolean containsNumber = meetsContainigNumberCriteria(pw).. 2022. 7. 26.
[spring] 요청 처리(ServletRequest, RequestParam, DTO객체) 스프링 요청 처리 클라이언트의 요청이 들어오면 DispatcherServlet이 요청을 가로챈다. DispatcherServlet이 요청을 HandlerMapping에게 보내 해당 요청을 처리할 수 있는 Controller를 찾고, 그 Controller 내부 메소드 중 요청 url에 매핑되는 메소드를 실행시킨다. 메소드 로직 처리후 ViewResolver를 통해 view 화면을 찾는다. 찾은 view 화면을 View에 보내면 이 결과를 다시 DispatcherServlet에 보내고, DispatcherServlet는 최종 클라이언트에게 전송한다. webapp -> WEB_INF -> spring -> appServlet -> servlet-context.xml파일에 context:component-sc.. 2022. 6. 27.
[spring] 의존성 주입 TestBean는 생성자 혹은 setter 함수를 통해 Test 타입의 매개 변수를 전달 받고 이를 멤버 필드인 test에 저장한다. 이러한 관계를 TestBean이 Test에 의존적이라고 한다. 이러한 의존성을 Spring Bean Configuration 파일로도 주입할 수 있다. property 태그로 setter를 사용하거나, constructor-arg 태그로 생성자를 사용하여 의존성을 주입한다. 이때 처럼 단일 태그를 사용해도 같은 기능을 한다. Main함수에서 빈을 정의한 xml파일의 경로를 GenericXmlApplicationContext의 생성자에 매개 변수로서 전달한다. GenericXmlApplicationContext 객체는 전달 받은 xml파일에 존재하는 bean들을 객체로 만들.. 2022. 6. 24.