public interface Service { void execute(); } public class MyService implements Service { public void execute() { } } public class Client { private Service service; @Inject public Client(Service service) { this.service = service; } public void doSomething() { service.execute(); } } public class UserService implements Service { public void execute() { } } public class OrderService implements Service { public void execute() { } } public class Client { private Service userService; private Service orderService; @Inject public Client(@Named("userService") Service userService, @Named("orderService") Service orderService) { this.userService = userService; this.orderService = orderService; } } @Singleton public class DatabaseService { public void connect() { } } public class Client { @Inject private DatabaseService databaseService; } <dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>1</version> </dependency> groovy implementation 'javax.inject:javax.inject:1' @Configuration public class AppConfig { @Bean public Service myService() { return new MyService(); } @Bean public Service userService() { return new UserService(); } @Bean public Service orderService() { return new OrderService(); } @Bean public Client client() { return new Client(userService(), orderService()); } }


上一篇:
下一篇:
切换中文