재우니의 블로그


DI(dependency injection, 의존성 주입) 기능이 ASP.NET Core 의 주요기능으로 주목받고 있습니다. 이와 관련하여 ASP.NET 컨테이너의 결합을 느슨하게 유지하면서 개발하는 기술이 아주 중요해졌습니다. ASP.NET 은 최소한의 컨테이너만 제공하며, 기본으로 제공되는 컨테이너를 전혀 다른 컨테이너 타입으로 교체할 수도 있습니다. Autofac 는 기본 컨테이너를 대체할수있는 .NET Core 용 IoC 컨테이너입니다.

CRUD.Core 에 interface 를 생성합니다.



생성한 인터페이스를 CRUD.DataAccess 클래스의 구현체에서 상속받아 dapper 를 활용하여 작성합니다.



AutoPac 을 활용하여 IoC 를 구현하는데, RegisterType 에 구현한 클래스를 인터페이스와 함께 등록을 하고 Build() 를 합니다. 

초기에 static 를 통해 컨테이너를 등록한 다음, 외부에서 이를 활용하기 위해 프로퍼티를 Resolve() 함수를 통해 컨테이너를 호출합니다.



웹화면에서 이를 호출하는 방법은 인터페이스를 통해 호출되는 것을 확인이 가능합니다.