CDI具有专业化的特征,我在Spring世界中寻找它.
细节.
在CDI中,@Specializes注释允许人们通过覆盖它来改变bean的行为.这对于该bean的用户是完全透明的,例如,如果我们有的话
public class OneBean {
public String whoAmI() { return "OneBean"; }
}
@Specializes
public class AnotherBean extends OneBean {
@Override
public String whoAmI() { return "AnotherBean"; }
}
Run Code Online (Sandbox Code Playgroud)
我们可以
public class SomewhereElse {
@Inject
OneBean oneBean; // we know nothing of AnotherBean here!
public void guessWhosThere() {
return oneBean.whoAmI(); // yet it returns "AnotherBean"
}
}
Run Code Online (Sandbox Code Playgroud)
只要OneBean实际使用和不使用,这就非常有用AnotherBean.例如,如果OneBeanin one.jar和AnotherBeanin another.jar,我们可以通过重新配置类路径来改变bean的行为.
题.Spring中是否也存在类似Specialization的东西?
我只能找到@Primary …
这是我想要做的:
@ViewScopedJSF bean,我在其中使用 Jersey 调用 JAX-RS 服务。image/svg+xml。到目前为止,我的研究使我相信:
h:graphicImage (核心 JSF)不支持 SVGp:graphicImage (PrimeFaces) 不支持 SVGo:graphicImage (OmniFaces) 也不支持 SVG。有没有办法从支持 bean 将 SVG 图像传送到 facelets 页面?服务 SVG 图像的服务将在稍后扩展以支持交付(以及其他格式)PNG,但我希望直接使用 SVG。