3. 스프링 프레임워크의 핵심 기능 알아보기

LYS·2023년 6월 4일
0

[스프링 프레임워크 첫걸음] 책을 참고하여 글을 작성하였습니다.

스프링 프레임워크의 핵심 기능

스프링 프레임워크의 핵심 기능에는 2가지가 있다.
첫 번째는 의존성 주입(Dependency Injection)으로, DI라고 불린다. DI는 의존하는 부분을 외부에서 주입하는 것이다.

두 번째는 관전 지향 프로그래밍(Aspect Oriented Programming)으로, AOP라고 불린다. AOP에서는 프로그램이 중심적 관심사(Primary Concern)횡단적 관심사(Crosscutting-Concerns)로 구성이 된다.

AOP공통 처리 등의 '횡단적 관심사'추출하고 프로그램의 여러곳에서 호출할 수 있게 설정함으로써 개발자는 실현해야할 기능인 '중심적 관심사'에만 집중해서 작성하면 되는 구조이다.

DI 컨테이너 알아보기

의존에는 클래스 의존(구현 의존)과 인터페이스 의존이 있는데 클래스 의존클래스를 변경할 경우 이용하고 있는 곳을 모두 수정해야 하지만 인터페이스 의존변수의 이름을 변경하지 않고, 클래스가 바뀌어도 메서드명을 변경하지 않아도 되므로 인터페이스 의존을 더 사용한다.

DI 컨테이너는 인스턴스를 생성하는데 new 키워드를 사용했으나 인스턴스 생성과 같은 작업을 프레임워크에 맡길 수 있고 그 역할을 하는 것이다.

DI 컨테이너의 '사용하는 객체' 클래스를 전혀 수정할 필요가 없게끔 만드는 다섯 가지 규칙이 있다.
1. 인터페이스를 이용하여 의존성을 만든다.
-> 의존하는 부분에 인터페이스를 이용한다.

2. 인스턴스를 명시적으로 생성하지 않는다.
-> 인스턴스 생성에 new 키워드를 사용하지 않는다.

3. 어노테이션을 클래스에 부여한다.
4. 스프링 프레임워크에서 인스턴스를 생성한다.

-> 인스턴스를 생성할려는 클래스에 인스턴스 생성 어노테이션을 부여한다.

5. 인스턴스를 이용하고 싶은 곳에 어노테이션을 부여한다.
-> 스프링 프레임워크에 의해 생성된 인스턴스를 이용하는 클래스에 참조를 받는 필드를 선언하고, 필드에 @Autowired 어노테이션을 부여한다.

어노테이션 역할 알아보기

어노테이션(annotation)주석을 의미하는 영어 표현으로 '@xxx'와 같은 형태로 작성한다. 그리고 외부 소프트웨어에 필요한 처리 내용을 전달한다.

이를 사용하면 에러를 출력하거나 프로그램의 동작을 변경하는 등 다양한 것을 할 수 있다.

profile
백엔드

0개의 댓글