백수의 개발/스프링
-
Spring AOP(Aspect Oriented Programming)이란?백수의 개발/스프링 2019. 12. 31. 18:52
AOP(Aspect Oriented Programming)이란?AOP를 관점 지향 프로그래밍이라고 한다. 관점 지향은 어떤 로직에 대해 핵심 기능과 공통 기능을 나누어서 보고, 그 관점을 기준으로 모듈화를 진행하는 것이다.즉, 공통 기능을 핵심 기능과 분리해 놓고, 공통 기능 중에서 핵심 기능에 적용하고자 하는 부분에 적용하는 것이다. 간단하게 보면 일반적인 핵심 비즈니스 로직은 핵심 기능으로 본다면 로깅, 트랜잭션, 데이터베이스 연결, 파일 입출력 등과 같은 일련의 핵심 로직을 위한 부가적인 기능들을 공통 기능으로 분리한다고 볼 수 있다. AOP 주요 용어Aspect : 공통 기능(모듈화 된 기능)Target : Aspect(부가 기능)를 부여할 대상 (클래스, 메서드 .. ) Advice : 실질적인..
-
IoC그리고 DL/DI백수의 개발/스프링 2019. 11. 3. 22:02
IoC(Inversion of Control) IoC란 말 그대로 제어의 역전, 즉 제어권이 바뀌었다는 것이다. 이는 객체의 생성부터 소멸까지 생명 주기의 관리를 개발자가 아닌 컨테이너가 대신 해준다는 것이다. 그 덕분에 개발자가 직접 객체를 주입하며 신경써야했던 코드들을 줄일 수 있다. IoC에는 아래 그림과 같이 크게 DL(Dependency Lookup)과 DI(Dependency Injection)이 있다. 이에 대해 조금 더 내용을 살펴보자. DL(Dependency Lookup) DL은 의존성 검색이다. 이는 Bean에 접근하기 위해 컨테이너가 제공하는 API를 이용하여 Bean을 Lookup하는 것이다. 아래와 같이 Bean에 대한 정보가 있는 xml파일이 있다고 생각해보자. java에서는 ..