ORM Object Relating Mapping Framework
객체를 DB랑 Mapping해준다.
그전에는 query의 몇번째 ?에 변수가 들어갈지 정했지만
이제는 VO 변수명을 적어주면 알아서 들어간다.
* 간편한 트랜잭션과 일관된 설정으로 데이터베이스의 접근이 용이하다.
* 커넥션들의 자동 지원으로 복잡한 설정이 따로 필요하지 않다.
주로 MyBatis, iBatis, JPA, Hibernate가 많이 사용되며, 그 중 MyBatis, iBatis의 사용 빈도가 가장 높다.
* 준비사항
- Connection Pool
- My Batis
- Ojdbc6.jar
Transaction : 하나의 업무 작업단위를 모아놓은 것
DB는 트랜잭션이 왜 중요할까?
오류가 났을때 되돌리기 위해서
OOP : 객체지향 프로그래밍
AOP : 관점지향 프로그래밍
이제는 OOP가 아닌 AOP로 접근해보자.
Aspect Oriented Programming
* 공통적으로 적용되는 기능들을 특정 Method 혹은 Class가 실행되기 전/후 등의 단계에서
자동으로 실행될 수 있게 지원하는 프로그래밍 방법.
* Logging, Transaction, Parameter Check 등 여러 기능들을 대상으로 한다.
* 어떨때 뭐하고 어떨때 뭐해라와 같은 방식.
Weaving : 다른 class가 입혀지는 방식 " ( ProceedingJoinPoint (변수명)) throws Throwable "을 공통적으로 써준다.
spring-aop와 aspectjweaver ( aop를 하기위한 java전용 weaver ) 이 두개가 필요하다.
<aop before> 어떤것이 실행되기 전에
<aop after-returning> 어떤것이 리턴되면 -> 정상적으로 실행되면
<aop after-throwing> 예외가 발생했을 때
<aop after> 관점상관 없이 실행된 직후
<aop arround> 시점상관없이 마음대로 해라. 위에 모든 것을 다 아우른다.
이런 시점을 모두 Advisor 라고 부른다.
<arround를 쓴 화면>
'Back-end > Spring' 카테고리의 다른 글
[Spring] DB를 사용하는 방법 - myBatis 개념 (0) | 2016.04.20 |
---|---|
[Spring] ORM : MyBatis 연동 2 (0) | 2016.04.19 |
[Spring] Controller Biz 사용하기 (0) | 2016.04.18 |
[Spring] Controller 리턴타입 (0) | 2016.04.15 |
[Spring] 인터셉터 ( Inerceptor ) (0) | 2016.04.15 |