서비스의 개념은 이전에 Spring을 학습하며 이해한 경험이 있다. 앵귤러의 서비스도 이와 크게 다르지 않아 보였다. 특히 DI(Dependency Injection)을 통해 외부에서 서비스를 주입하는 구조는 스프링과 같아서 쉽게 이해할 수 있었다.
간단히 정리해보자면,
IoC Container가 외부에서 클래스로 Service를 주입한 것 처럼 Angular에서도 Injector라는 개념이 존재해 외부에서 주입 시켜준다.
// 프로바이더 등록방법 1
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root',
})
export class Service{
constructor() {}
}
// 프로바이더 등록방법 2
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule
],
providers: [
Service
],
bootstrap: [
AppComponent
],
})