본문 바로가기

분류 전체보기110

[Spring] AOP 출처 : https://jojoldu.tistory.com/71 AOP란?Spring의 핵심 개념중 하나인 DI가 애플리케이션 모듈들 간의 결합도를 낮춰준다면, AOP는 애플리케이션 전체에 걸쳐 사용되는 기능을 재사용하도록 지원하는 것입니다. AOP (Aspect-Oriented Programming) 란 단어를 번역하면 관점(관심) 지향 프로그래밍으로 됩니다. 이 관점(관심)이란 단어가 잘 와닿지 않아 AOP를 이해하는데 있어 더 어려움을 일으킨다고 생각하였습니다. 쉽게 얘기하면 프로젝트 구조를 바라 보는 관점을 바꿔보자는 이야기입니다. 우리는 보통 제 3자의 관점에서 바라보자 라는 이야기를 합니다. (제 3자의 관점) 즉, 대상을 바라보는 방향을 바꿔보자라는 이야기입니다. (핵심기능에서 바라본 관점).. 2019. 2. 13.
[Spring] 전자정부프레임워크 AOP 설명 @AspectJ 어노테이션을 이용한 AOP 지원개요@AspectJ는 Java 5 어노테이션을 사용한 일반 Java 클래스로 관점(Aspect)를 정의하는 방식이다. @AspectJ 방식은 AspectJ 5 버전에서 소개되었으며, Spring은 2.0 버전부터 AspectJ 5 어노테이션을 지원한다. Spring AOP 실행환경은 AspectJ 컴파일러나 직조기(Weaver)에 대한 의존성이 없이 @AspectJ 어노테이션을 지원한다.설명@AspectJ 설정하기@AspectJ를 사용하기 위해서 다음 코드를 Spring 설정에 추가한다.관점(Aspect) 정의하기클래스에 @Aspect 어노테이션을 추가하여 Aspect를 생성한다. @Aspect 설정이 되어 있는 경우 Spring은 자동적으로 @Aspect .. 2019. 2. 12.
[Spring] Filter, Interceptor, AOP 자바 웹프로그래밍을 구현하다보면 공통적인 업무를 추가해야할 것들이 많다. 공통적인 업무에는 로그인처리(세션체크), pc웹과 모바일웹의 분기, 로그 확인, 페이지 인코딩 변환, 권한체크, XSS(Cross site script)방어 등이 있는데 이러한 공통업무에 관련된 코드를 모든 페이지 마다 작성 해야한다면 중복된 코드가 많아지게 되고 업무량이 상당히 증가할 것이다. 이러한 공통업무를 프로그램 흐름에서 앞, 중간, 뒤에 추가하여 자동으로 처리할 수 있는 방법이 있는데 서블릿에서 지원하는 서블릿 필터, 스프링 프레임워크를 사용하면 쓸 수 있는 인터셉터, AOP가 있다. 앞서 AOP개념을 정리할 때 언급한 것처럼 개발자는 좀더 핵심로직에 집중하고, 부가로직으로부터 자유로워지게 도와주는 역할을 한다.그렇다면 .. 2019. 2. 12.
[MSSQL] 자동증가 컬럼 오라클의 Sequence 와 비슷한 기능으로 MS-SQL 에는 Identity 라는것이 있다. Identity 는 오라클의 Sequence 와는 다르게, 테이블 컬럼의 속성으로 되어 있다. 1. 테이블 생성사용법CREATE TABLE SEQTBL( SEQ INT IDENTITY(1,1) VAL VARCHAR(10) NULL) identity(1,1) 에서 앞에 1은 시작값, 뒤에 1은 증감값이다. 즉, 최초값을 1로 할수도 있고, 1000000 으로 할수도 있으며, 증감을 1씩 증가하게 할수도 있고, 100씩 증가하게 할수도 있으며, 반대로 -1 씩 감소하게 할수도 있다는 뜻이다. insert into test1(val)vals ( '1' ); insert into test1(val) vals ( '2'.. 2019. 2. 12.