我在理解一些范围概念时遇到了问题。
假设我有这个Bean(用于xhtml):
@Named
@RequestScoped
public class ConfigController implements Serializable {
@Inject
ConfigModel config; // Bean is @SessionScoped
}
如果为每个http请求创建了一个ConfigController,那么内部注入的ConfigModel呢?它是保留其值还是使用控制器重新创建? (我怀疑吗?)
如果在具有不同范围的多个bean中注入ConfigModel会怎样?
在我收集时,范围层次结构应该从从宽到窄: - 模型应该是会话范围的,因为它们包含数据 - 控制器(以及下面的服务)可以是请求作用域,因为它们只实现逻辑。
这是我面临的原始问题: @SessionScoped CDI bean is a different Instance when injected