Tôi đang tạo thư viện sẽ được bao gồm làm bình, vì vậy nó sẽ không chứa phương pháp chính. Tôi tự hỏi thực hành tốt nhất cho bootstrapping Guice trong trường hợp này là gì. Tôi có một singleton cấp cao nhất.Sử dụng Guice mà không có phương pháp chính
public class TestManager
{
private TestManager()
{
}
public static TestManager getInstance()
{
// construct and return singleton
}
public void createSomeObjects()
{
}
}
Tôi nên bootstrap Guice ở đâu? Tôi đã nghĩ rằng trong constructor mà tôi có thể gọi Guice.createInjector (new Module()); nhưng nó sẽ không tiêm bất kỳ đối tượng nào được tạo trong createSomeObjects().
Có cách nào phổ biến để làm điều này khi bạn không có phương thức chính()?
Chúc mừng.
Cung cấp cho khách hàng mô-đun Guice có thể hoạt động tốt. –
+1 để tự cấu hình siêu thông minh. Chỉ cần nghĩ rằng nó xấu đi với Apache Commons Logging. –
@Jesse, tôi chưa bao giờ thấy các thư viện sử dụng Guice nội bộ thực sự phơi bày nó cho người dùng cuối. Ví dụ Maven và JIRA sử dụng IoC đằng sau hậu trường nhưng chúng tiêm vào các lớp của bạn mà bạn không biết chúng đang sử dụng chúng. Hiển thị Guice âm thanh sạch hơn (nếu người dùng cảm thấy thoải mái với Guice) nhưng tôi sợ nó có thể đe dọa người dùng đi (tại sao người khác không làm điều đó?). – Gili