본문 바로가기

SPRING

(86)
Connection Pool / DataSource / JdbcTemplate / RowMapper 스프링에서 JDBC를 활용하여 DB 연동할 때 이해가 필요한 용어들을 정리해보자. Connection Pool 기존에 DB에 접근 하려면 접근할 때마다 connection을 맺고 끊는 작업을 했어야했다. 하지만, 스프링에서는 다양한 라이브러리를 제공하여 이를 쉽게 할 수 있다. 미리 커넥션을 생성해 두고, DB에 접근하려는 사용자에게 미리 생성된 커넥션을 제공하고 다쓰면 돌려받는다. 이때, 연결이 끊어지는 것은 아니다. 반납하는 것 뿐. 이러한 커넥션들이 모아진 곳을 커넥션 풀이라고 한다. 사용자의 요청 시에 커넥션을 연결하는 것이 아니라 미리 일정 수의 커넥션을 만들어 놓고 빌려주는 것 커넥션을 갑작스럽게 많이 사용하게 될 경우 미리 설정된 최대 커넥션 수만큼 증가하다록 하여 원활한 서비스가 되도록 한..
XML 파일 생성하는 법
스프링 DB 연동 - JDBC / C3P0 0. 테이블, 시퀀스, 샘플 데이터 넣기 데이터 넣을 때는 꼭 commit; 작업 실행하기 1. pom.xml에 DB 연동 라이브러리 추가 org.springframework spring-jdbc 4.1.0.RELEASE com.mchange c3p0 0.9.2.1 commons-dbcp commons-dbcp 1.4 oracle ojdbc6 11.2.0.3 + ojdbc6.jar 파일 .m2 경로에 넣기 왜? 스프링에서 오라클 드라이버는 제공해주지 않기 때문에 따로 폴더에 넣어줘야함 아니면, OJDBC 사설 저장소 추가하는 방법도 있음 -> 하지만, 사설 저장소이기 때문에 오류가 발생하면 저장소 주소를 변경해줘야함 그래서, 편하게 직접 .jar 파일 넣어주기 2. appctx.xml DB 접속 정보를 ..
AOP - Around를 적용한 예제 일단, AOP의 장점에 대해 한 번 더 짚고 넘어가자. 예를 들어, 입금, 출금, 이체 기능이 있다. 세 기능에는 '인증'이라는 공통 기능이 들어가야한다. 원래 알던 방법대로라면 인증이라는 메서드 하나를 구현해서 그 메서드를 가져다가 쓰는 방식이었을 것이다. 혹은 인터페이스를 구현한다던가. 하지만, 그렇게 할 경우, 기능의 변경이 있어서 메서드명을 변경해야할 때 각각 클래스로 다 찾아가서 이름을 다 바꿔줘야한다. 이러한 불편함을 막기 위해 기존의 클래스에는 아무것도 건드리지 않고, 인증 기능 클래스 하나만을 구현해서 그 기능을 여기저기에서 자유롭게 쓸 수 있도록 해주는 것. 적용이 필요한 메서드 명을 새로 만든 기능 클래스 안의 execution 안에 기입해주는 것으로 해결. 그것이 AOP다. AOP라고..
AOP 적용 - After, Around, Afterreturning, Afterthrowing Advice - After 시점에 적용한 예를 살펴보자. 1. POJO 클래스 + XML을 이용한 AOP 설정 2. 어노테이션을 이용한 AOP 설정 이번에는 중복된 표현식이 계속 되는 것을 방지하기 위해 포인트컷 지시자를 미리 설정해보자. 1. POJO 클래스 + XML을 이용한 AOP 설정 2. 어노테이션을 이용한 AOP 설정 이번에는 중복을 제거한 로직을 바탕으로, 나머지 Around, Afterreturning, Afterthrowing도 적용해보자. 1. POJO 클래스 + XML을 이용한 AOP 설정 2. 어노테이션을 이용한 AOP 설정
메이븐 라이브러리 에러 라이브러리의 문제라고 하는데 뭐가 문제인지 모르겠다! 일단 이클립스에서 메이븐 업데이트를 해보자. 그래도 안되면 시스템 폴더의 .m2 경로의 라이브러리를 다 지우고 이클립스로가서 다시 메이븐 업데이트하면 됨 /Users/dabin/.m2/repository 자체를 모두 삭제 -> 이클립스 -> Maven -> Update Project
AOP 개념 및 적용 - Before 절차지향, 객체지향과 같은 새로운 방법이 아니라 객체지향을 응용하는 관점 즉, 관점지향 = 객체지향 + 응용 관점지향은 프록시 패턴을 바탕으로 한다. 프록시 패턴이란? 어떤 객체에 대한 접근을 제어하는 용도로 대리인이나 대변인에 해당하는 객체를 제공하는 패턴 일단, AOP를 어떤 상황에서 사용할 수 있는지 확인해보자. 다음과 같이, 소년과 소녀는 전반적으로 똑같은 일을 하지만, 게임을 하고 요리를 하는 것처럼 핵심 기능이 다르다. 중복된 횡단 코드 줄여줘야할 필요성이 있다. 하나의 메서드를 만들어서 중복된 코드를 몰아 넣고, 각각 소년 소녀 클래스에서 불러서 쓴다면 해결이 가능하다. 하지만, 그 메서드의 기능이 변경되면 혹은 메서드명이 변경되면 각각 클래스로 가서 다~~바꿔줘야하는 불편함이 있다. 그래서..
jar 파일 jar 파일이란? JAR(Java ARchive, 자바 아카이브)는 여러 개의 자바 클래스 파일과, 클래스들이 이용하는 관련 리소스(텍스트, 그림 등) 및 메타데이터를 하나의 파일로 모아서 자바 플랫폼에 응용 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷 예를 들어, ojdbc6.jar 파일은 DB에 접속할 수 있는 코드를 미리 작성해놓은 것 오라클에서 만들어낸 자바 코드를 패키징화하는 것 -> 이것이 모듈화 한 가지 더, 자바의 실행파일은 exe가 아니고 jar이다 Runnable JAR File로 내보내게 되면, 더블클릭하면 실행됨 (진짜 exe처럼) jar 파일을 직접 만들어보자.