CDI

바그다드·2023년 7월 19일

Jakarta Contexts & Dependency Injection(CDI)

CDI는 "Contexts and Dependency Injection"의 약자로, 자바 엔터프라이즈 애플리케이션 개발을 위한 스펙이며, Java EE (Java Platform, Enterprise Edition)에서 사용되는 기술 중 하나이다. CDI는 컨텍스트와 의존성 주입을 통해 관리되는 컴포넌트 기반 애플리케이션을 지원합니다.

의존성 주입을 수행하는데 사용할 수 있는데, 자바의 표준으로서 스프링에서는 CDI가 구현되어 있으므로 CDI어노테이션도 지원이 된다.

의존성 추가

자바 라이브러리이기 때문에 의존성을 추가해줘야 한다.

		<dependency>
			<groupId>jakarta.inject</groupId>
			<artifactId>jakarta.inject-tck</artifactId>
			<version>2.0.1</version>
		</dependency>

활용

//@Component
@Named
class BusinessService{
    private DataService dataService;

//    @Autowired
    @Inject
    public void setDataService(DataService dataService) {
        this.dataService = dataService;
        System.out.println("Setter Injection");
    }

    public DataService getDataService() {
        return dataService;
    }
}

위의 예시처럼 스프링에서 지원하는 어노테이션 대신 활용이 가능하다.

profile
꾸준히 하자!

0개의 댓글