728x90

SpringFramework 2

[Spring] AOP(Aspect Oriented Programming)와 동작방식

AOP(Aspect Oriented Programming)란? Aspect란, 그 자체로 애플리케이션의 핵심기능을 담고 있지는 않지만, 애플리케이션을 구성하는 중요한 한가지 요소이고, 핵심기능에 부가되어 의미를 갖는 특별한 모듈을 가리킨다.(대표적인 예로 로깅이나 트랜잭션과 같은 기능이 있다.) 대게 애플리케이션은 핵심기능과 여러 부가기능들이 함께 어우러져서 동작하게 되어있다. 따라서 런타임시에는 각 부가기능 애스펙트가 자기가 필요한 위치에서 dynamic하게 참여한다. 하지만 설계와 개발은 서로 다른 특성을 띈 애스펙트들을 독립적인 관점으로 작성할 수 있다. 그리고 이렇게 애플리케이션의 핵심적인 기능에서 부가적인 기능을 분리해서 애스펙트라는 독특한 모듈로 만들어서 설계하고 개발하는 방법을 관점지향프로그..

SpringFramework 2022.02.24

[SpringFramework] Bean과 Bean Scope에 관하여

Bean 스프링에서 Bean이란 스프링이 관리하는 오브젝트를 뜻한다. 빈이 생성되고, 존재하고, 적용되는 범위를 스프링에서는 빈의 스코프(Scope)라고 한다. 스프링에서는 기본 스코프인 싱글톤 외에 다양한 스코프를 가질 수 있는데, 스프링에서 만들어 지는 빈의 다양한 스코프에 대해서 살펴보자. 싱글톤 스코프(Singleton Scope) 스프링 빈의 기본 스코프로, 컨텍스트당 한개의 빈 오브젝트만 만들어지므로 주입이나 조회시 매번 같은 오브젝트가 리턴됨이 보장된다. 강제로 제거하지 않는한 스프링 컨테이너가 존재하는 동안 계속 유지된다. 프로토타입 스코프(Prototype Scope) 싱글톤과는 다르게 컨테이너에게 빈을 요청할 때마다 매번 새로운 오브젝트를 생성해 준다. 프로토타입 스코프는 IOC 기본 ..

SpringFramework 2022.02.23
반응형