반응형 Java/[스프링 5 프로그래밍 입문]16 [Spring] AOP 프로그래밍(2) - 스프링에서의 AOP AOP는 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. 스프링에서는 프록시 객체를 자동으로 만들어주며 공통 기능을 삽입하는데, 여기서 공통 기능을 Aspect라고 한다. 따라서 공통 기능을 구현한 클래스만 알맞게 구현하면 된다. 스프링과 AOP 이전 포스트에서는 프록시의 개념과 AOP와의 관계에 대해 알아보았다. 이번 포스트에서는 스프링에서 실제로 AOP가 어떻게 적용되는지 알아볼 것이다. [Spring] AOP 프로그래밍(1) - 프록시와 AOP AOP는 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. 핵심 기능에 공통 기능을 삽입하여 핵심 기능의 코드를 수정하지 않고도 공통 기능의 dct-wonjung.ti.. 2021. 8. 12. [Spring] AOP 프로그래밍(1) - 프록시와 AOP AOP는 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. 핵심 기능에 공통 기능을 삽입하여 핵심 기능의 코드를 수정하지 않고도 공통 기능의 구현을 추가할 수 있다. 스프링에서는 프록시 객체를 생성해서 공통 기능을 삽입한다. 프록시와 AOP의 관계 프록시(proxy)는 핵심 기능의 실행을 다른 객체에 위임하고 부가적인 기능을 제공하는 객체를 의미한다. 실제 핵심 기능을 실행하는 객체를 프록시의 대상 객체라고 부른다. 프록시는 핵심 기능을 구현하지 않는 것이 특징이다. 대신 여러 객체에 공통으로 적용할 수 있는 기능을 구현한다. AOP(Aspect Oriented Programming)는 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 .. 2021. 8. 10. [Spring] 빈 객체의 라이프사이클과 범위 (Life Cycle & Scope of Bean) 스프링 컨테이너는 빈 객체의 생성, 초기화, 의존 주입 등 객체 관리를 위한 다양한 기능 제공하며, 라이프사이클도 관리한다. 컨테이너가 생성될 때 빈 객체가 생성되고 초기화되며 컨테이너가 종료될 때 빈 객체가 소멸하게 된다. 둘의 라이프사이클에 대해 알아보자. 스프링 컨테이너와 빈 객체의 라이프사이클 스프링 컨테이너와 빈 객체를 라이프사이클을 갖는다. 빈 객체를 컨테이너에 등록되기 때문에 스프링 컨테이너의 라이프사이클에 따라 생성되거나 소멸된다. 먼저 스프링 컨테이너의 라이프사이클을 알아보자. 스프링 컨테이너의 라이프사이클 스프링 컨테이너는 초기화와 종료라는 라이프사이클을 갖는다. AnnotationConfigApplicationContext의 생성자를 이용해서 컨텍스트 객체가 생성될 때 스프링 컨테이너.. 2021. 8. 3. [Spring] 컴포넌트 스캔 - @Component, @ComponentScan 사용하기 이전까지는 설정 클래스에서 수동으로 빈 객체를 등록하고 사용하는 방법을 배웠다. 이번 포스트에서는 @Component와 @ComponentScan 애노테이션을 사용하여 스프링이 스캔할 대상을 설정하고 자동으로 빈을 등록하는 컴포넌트 스캔 기능에 대해 알아볼 것이다. @Component 애노테이션을 이용한 컴포넌트 스캔 컴포넌트 스캔은 스프링이 직접 클래스를 검색해서 빈으로 등록해주는 기능이다. 따라서 설정 클래스에 별도로 빈으로 등록하지 않아도 된다. 즉 설정 클래스 코드가 크게 줄어드는 장점이 있다. 클래스에 @Component 애노테이션을 붙이면 스프링이 검색해서 빈으로 등록할 수 있다. 해당 클래스를 스캔 대상으로 표시하는 것이다. @Component public class ExDao { ... }.. 2021. 8. 2. 이전 1 2 3 4 다음 반응형