인터페이스, FooProvider를 정의한 다음 런타임에이 인터페이스의 여러 구현을 사용할 수 있다고 가정합니다 (개별 서비스 일 수 있음). 내 컨트롤러 클래스에서 런타임에 주입 된이 인터페이스의 모든 알려진 구현을 가질 수 있기 때문에 다른 유형의 "Foo"항목을 가져 오는 데 "옵션"으로 사용자를 표시 할 수 있습니다. 이렇게하면 서버 측 코드가 훨씬 더 모듈화되어 여러 사용자가 FooProvider 서비스를 서로 다른 방법으로 정의 할 수 있습니다.Grails 내에 내 자신의 플러그인 아키텍처를 갖고 싶다면 어떻게해야합니까?
내가보기에 Grails는 컨트롤러/도메인 클래스에 서비스 구현의 단일 인스턴스를 주입하는 옵션 만 제공합니다. Grails가 인터페이스 유형에 기반한 여러 서비스 인스턴스를 삽입 할 수있는 방법이 있습니까? OSGi 컨테이너에서 사용할 수있는 인터페이스의 구현을 삽입 할 수있는 OSGi의 기능과 병행한다고 생각합니다.
충분합니다. 그렇다면 모든 구현을 외관 서비스에 주입하려면 어떻게해야합니까? 서비스 제공자가 플러그인 공급자를 통해 제공되는 모든 "Foo"를 제공하고 사용자가 원하는 "Foo"항목을 선택할 수있게하려는 경우 ... 내 Grails 계층 구조에서 서비스에 삽입 할 항목을 정의 할 수 있습니까? 팁 고마워! – Mike