我有几个类似的服务:
@Singleton
public SimpleService {
...
}
我有一个@ViewScoped的Managed Bean,应该创建一些复杂的对象。这些对象应该执行业务逻辑。我需要将这些服务传递给这个对象。
Managed Bean示例:
@ManagedBean
@ViewScoped
public class ExampleBean {
@Inject
private SimpleService simpleService;
...
public void customLogic() {
// in this method I should create complex object which should have services and some data.
// current implementation
ComplexObject object = new ComplexObject(SimpleService simpleService, ...)
}
}
使用 @Inject 注解将服务注入到托管的 Bean 中。为了创建这些对象,我使用构造函数并将这些服务作为参数传递。问题是:是否有更好的解决方案,而不是在构造函数中传递服务?