55일차
오늘 배울 내용
AOP(이메일전송)
<스프링>
Ioc (Inversion Of Control ) : 제어의 역전
DI ( Dependency Injection ) : 의존성 주입
@AutoWired 주입방식
set 주입방식
생성자 주입방식
AOP ( Aspect Oriented Programming ) : 관점지향프로그래밍
왜 쓰지?
객체지향 프로그래밍의 단점때문에 나온 개념
AOP는 서블릿필터랑 비슷하다.
주소에 따른 실행이 아니고 특정 메소드가 실행 될때 AOP 실행
aspect도 하나의 모듈
관점을 나중에 한 시점에서 결합될때 join point 사용
join 되었을때 Advice 제공
특정한 pointcut에 의해서 잘려진 것은 weaving으로 합침
weaving : 합쳐지는것
aspect-autoprxy에서 proxy-target-class의 기본값은 false
위처럼 되어있으면 interface를 기반으로 돌아가는데 true로 바꾸면 클래스 기반으로 들어간다.
<aop:aspectj-autoproxy proxy-target-class="true" />
이 코드를 모든 설정파일에 붙여넣기
1. common 패키지에 CommonAspect 클래스 만들기
// Aspect 구성요소
// 1. pointcut : 어떤 클래스의 메소드에 대해서 Aspect를 적용할지에대한 정규식과 같은 문법
// 2. advice : target(적용할 클래스의 메소드)에 적용할 소스
aop클래스에서 proxy클래스가 생성되야 되기때문에 final, private 등은 사용할 수 없다.
aop 적용시 문제점
- 개발자 모드로 바뀐 내용이 서버에 바로바로 적용이 안된다.
그래서 실 프로젝트에서는 맨 나중에 aop를 적용한다.
- weaving 때문에 느려지는 단점이 있다.
james run.bat 실행 오류시 확인해야 할 사항
1. 설치된 경로중에 한글이 포함되지 않았는지 확인한다.
2. port 충돌이 일어날 경우에는
james-2.3.2\apps\james\SAR-INF 이 경로안의 config.xml 안에서 포트를 수정한다.
email 설정할때 (email.메서드)
addTo : 보내는 사람
addCc : 참조
addBcc : 숨은 참조
트랜잭션 (Transaction)
: 하나의 작업단위
* ACID
- Atomicity (원자성) : 모든 작업이 하나의 단위
- Consistency (일관성) : 일관된 데이터 유지
- Isolation (독립성) : 다른 트랜잭션과독립
- Durability (내구성) : 커밋된 데이터의 유지
'Dev. 640시간 뭉개기 > 강의내용정리' 카테고리의 다른 글
[Android] 57일차 - 안드로이드 구성/ 시작 (0) | 2012.12.03 |
---|---|
[WEB/SPRING] 56일차 - ajax(Asynchronous Javascript And Xml (0) | 2012.12.03 |
[WEB/SPRING] 51일차 - 파일 업로드, 다국어처리, validator (0) | 2012.12.03 |
[WEB/SPRING] 50일차 - include, 게시판 페이징 기능, 로그인/로그아웃시 원래 화면 그대로 가기, 동적쿼리(dynamic query)만들기 (0) | 2012.12.03 |
[SPRING/TILES] 49일차 - 웹화면구성 프레임워크(Tiles) (0) | 2012.12.03 |