본문 바로가기

Spring Core

(4)
[Spring Core] 스프링AOP 용어 정리 AOP(Asepect Orineted Programming:AOP)=관점지향 프로그래밍개발 프로그래밍언어는 프로그램개발을 위해 고유한 관심사 분리 패러다임이 필요하다.객체지향프로그래밍의 많은 장점에도 불구하고, 다수의 객체들에 분산되어 중복적으로 존재하는 공통간심사가 존재하여, 프로그램을 복잡하게하고, 코드의 변경을 어렵게 한다.AOP는 핵심 관심사를 분리하여, 프로그램모듈화를 향상시키는 프로그래밍공통프로그램 영역에 핵심관심사를 엮어서 기능을 처리한다.관점(Aspect)관점(Aspect)은 프로그램의 핵심 관심사에 걸쳐 적용되는 공통 프로그램 영역을 의미한다. 예를 들면 로깅, 인증, 권한확인, 트랜잭션은 비지니스 기능 구현시에 공통적으로 적용되는 요소이며 하나의 관점으로 정의될 수 있다. 핵심 관심사(..
[Spring Core] 스프링 용어 정리 ApplicationContextApplicationContext를 스프링 컨테이너라고 한다. ApplicationContext는 BeanFactory 인터페이스의 하위 인터페이스이다. 즉, ApplicationContext는 BeanFactory에 부가기능을 추가한 것이다.BeanFactory는 스프링 컨테이너의 최상위 인터페이스이다. 스프링 빈을 관리하고 조회하는 역할을 한다. ApplicationContext는 BeanFactory + 부가 기능(국제화 기능, 환경 변수 관련 처리, 애플리케이션 이벤트, 리소스 조회)을 가진다.정확히는 스프링 컨테이너를 부를 때, BeanFactory, ApplicationContext를 구분해서 말하지만, BeanFactory를 직접적으로 사용하는 경우는 거의 없..
[Spring Core] 빈 생명주기 콜백 , 빈 스코프 Spring Bean 생명주기 Spring Bean의 생명주기는 Spring 프레임워크에서 빈이 생성되고 소멸될 때까지의 전체 과정이다.이 과정은 여러 단계로 이루어져 있으며, 각 단계는 Spring 컨테이너에 의해 관리된다. Spring Bean 생명주기 단계Bean 정의(Definition): 개발자가 XML 설정 파일, 애노테이션 또는 Java 설정 클래스를 통해 Bean을 정의한다.Bean 생성(Creation): Spring 컨테이너가 정의된 Bean을 인스턴스화합니다. 기본적으로는 Java의 new 키워드를 사용하여 객체를 생성한다.의존성 주입(Dependency Injection): 생성된 Bean에 필요한 의존성을 주입한다. 이는 생성자 주입, 세터 주입 등을 통해 이루어진다.초기화(Ini..
[Spring Core] Component Scan Component Scan 의존성 주입을 위해 스프링은 어플리케이션 컨텍스트를 생성한다.스프링은 객체를 인스턴스화 하고 이를 어플리케이션 컨텍스트에 추가하는데 이때 인스턴스화 된 객체를 스프링 빈 혹은 컴포넌트 라고 한다.어플리케이션 컨텍스트에 스프링 빈(컴포넌트)으로 등록될 클래스들을 스캔하여 빈으로 등록해주는 과정을 컴포넌트 스캔 이라고 한다. 지금까지 스프링 빈을 등록할 때는 자바 코드의 @Bean이나 XML의 bean> 등을 통해서 설정 정보에 직접 등록할 스프링 빈을 나열했다.  등록해야 할 스프링 빈이 수십, 수백개가 되면 일일이 등록하기도 귀찮고,설정 정보도 커지고, 누락하는 문제도 발생한다. 그래서 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을 제공한..