본문 바로가기

Spring14

Spring - JdbcTemplate JdbcTemplate 데이터베이스에서 모든 고객 정보를 반환하는 메소드 코드입니다. @Override public List selectAll() { List memberList = new LinkedList(); try { conn = JDBCMgr.getConnection(); // DB 커넥션 객체 생성 stmt = conn.prepareStatement(MEMBER_SELECT_ALL); // 쿼리문 저장 및 컴파일 rs = stmt.executeQuery(); while (rs.next()) { String uId = rs.getString("uId"); String uPw = rs.getString("uPw"); String uEmail = rs.getString("uEmail"); membe.. 2022. 11. 21.
Spring - ConnectionPool 기존 데이터베이스 접근 방식을 사용하다 문제점을 알게 되었습니다. 데이터베이스에 접근할 때마다 연결을 열고 닫는 과정에서 비용이 많이 든다 것이었습니다. 이번 포스트에서는 이러한 문제점을 해결하기 위한 방법인 ConnectionPool에 대해 정리해보았습니다. DB Connection 문제점 기존 데이터베이스의 연결 흐름은 다음과 같습니다. 응용 프로그램이 데이터 소스에 데이터베이스 연결을 요청 데이터 소스는 데이터베이스 드라이버를 사용하여 데이터베이스 연결 수행 연결이 생성되고 TCP 소켓이 열림 응용 프로그램이 데이터베이스 작업 수행 연결이 닫히고 소켓이 닫힘 이 흐름에서 문제점은 연결을 열고 닫는 과정이 연결 흐름에 계속 포함되어 있다는 것입니다. 데이터베이스 연결은 TCP연결입니다. 따라서 클라이.. 2022. 11. 21.
Spring - Log4j2 Log4j2는 이전 버전인 Log4j의 업그레이드 버전으로 Logbakc 아키텍처에 내재된 몇 가지 문제를 해결하면서 Logback에서 사용할 수 있는 로깅 프레임워크입니다. Logback처럼 필터링 기능과 자동 리로딩 기능을 지원하며 멀티 스레드 환경에서 비동기 로거는 다른 로깅 프레임워크보다 더 많은 처리를 할 수 있고, 대기 시간도 더 짧다는 장점을 가지고 있습니다. 이번 포스트에서는 Log4j2를 이용한 로깅에 대해 정리해보았습니다. Log4j2 환경설정 log4j2.xml을 작성하고 WEB-INF/classes 하위에 포함될 수 있도록 위치시켜야 합니다. Log4j2가 초기화될 때 해당 설정 파일을 읽어들이기 때문입니다. [xml 파일 정의] Logger Logger는 로깅 작업을 수행하는 Lo.. 2022. 11. 21.
Spring - ExceptionHandler 이번 포스트에서는 스프링의 예외처리에 대해 정리해보았다. 스프링의 기본 예외처리 방식 다음과 같은 예시코드가 있다. @Service public class MemberService implements IMemberService { private MemberDAO memberDAO; // null public MemberService() {} //@Autowired //public MemberService(MemberDAO memberDAO) { // this.memberDAO = memberDAO; //} ... } 원래라면 MemberDAO가 Autowired를 통해 외부에서 객체가 주입이 되어야 하는데 그러지 못하여 null인 상태이다. 이 상태에서 고객이 회원가입을 하면 내부에서는 데이터베이스에 접.. 2022. 11. 21.