5강. 공통기반레이어 AOP, ID Generation, Logging
3469 단어 전자정부 표준프레임워크전자정부 표준프레임워크
공통기반 레이어
AOP
로깅 각 세션마다 필요한 로깅을 생성해야 하는 경우 ->
중복적인 소스를 관점(하나의 파일로 ) 두고 간단한 로직만 담겠다
- Join Point : 메소드 실행하는 구간의 시점, -> 위치 지정
- Pointcut : 주가 되는 클래스
- 에스팩트(Aspact) : Advicd+ Pointcut
- Advice : 주가되는 클레스를 빼낸 콛
- Weaving : 이런 역활을 위한 방식 (파일-파일 분리 => 나중에 결합시키는 방식)
=> 떼어낸 Advice를 엮어주는 것 : Join Poin
-
중복된 파일 위치 지정 - Join Point
-
삽입된 중복 코드를 모은것 - Advice
=> Transaction -
주가되는 것은 묶음으로 걸러 낼 수 있음
-
주요개념 :
-
Weaving방식
- 컴파일 시 엮기
- 클래스 로딩 시 엮기
- 런타임 시 엮기 : 표준 프로그램에서 사용-> Spring AOP사용
-
Advice 결합점 결합 타입
- Before advice : 설정된 거 궁금하면
- After returning advice : 결과 값이 궁금할 때
- After throwing advice: 기본 예외가 발생할 때
- After advice
-
-
주요기능
- 횡단 관심 - 모듈 삽입-> 여러개의 포인트 컷 지정해서 사용하는 법
- 포인트 것 그룹지어 지정
-
장점
- 중복 제거
- 비즈니스 로직 가독성 향상
- 생산성 향상
- 재사용성 향상
-
사용하는 것
- 어노테이션을 이용한 aop구현 - xml, schema를 이용한 aop구현
pointcut : 주가 되는 모든 클래스
aspect : 클래스 실행되면 aspect실행해줘
after(== final) : 무조건 실행하는 부분
around : before+after의 조합 -> 처음에 한번 실행 -> 문제 없으면 다시 실행
ID Generation
-
공통 컨포넌트 내에 사용되는 기본값
ID Generation -> 설정 정보 가져옴
-> 업무에서 할당 -
주요기능
- UUID(Universal Unique Identifier) : 특정값을 가지고 값을 뽑아내는 방식
- Mac Address Base Service
- IP Address Base Service
- No Address Base Service- 랜덤
- Sequence ID사용하는 방식
- Sequence ID생성
- Sequence ID 생성
- Table ID 생성 : 특정 테이블에서 어떤 테이블 지정 -> 사용할 테이블 선택
- Sequence ID 생성
- UUID(Universal Unique Identifier) : 특정값을 가지고 값을 뽑아내는 방식
Logging
- 기본기능
- 각종 시스템 정보 수집하는 기능
- Log4j
- Logger : 구간에 찍는 로고 설정- Appender : 출력장소, 형태 (날짜 , 위치)
- Layout : 시간 분 초
- 로그레벨 지정하기
- Error > Warn > Info > Debug > Trace로그레벨 설명 Error 요청 처리 중 문제 발생 Warn 처리 가능한 문제지만, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지 Info 로그인, 상태변경과 같은 정보성 메시지 Debug 개발시 디버그 용도로 사용할 메시지 Trace 디버그 레벨이 너무 광범위한 것을 해결하기 위해 좀 더 상세한 상태를 나타냄
Appender
- ConsoleAppender
- FileAppender
- RollingFileAppender
- JDBCAppender
출처 : https://www.egovframe.go.kr/home/sub.do?menuNo=66
Author And Source
이 문제에 관하여(5강. 공통기반레이어 AOP, ID Generation, Logging), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@99dabi/5강.-공통기반레이어-AOP-ID-Generation-Logging저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)