java - 通过 XML 或代码的 JSF Spring 注入(inject)

标签 java spring jsf dependency-injection

我已经继承了一些 JSF Spring 代码,并且可以看到而不是通过 faces-config.xml 注入(inject) Spring bean as

<managed-bean>

团队已经在代码中做到了

FacesContext facesContext = FacesContext.getCurrentInstance();
    ELResolver elResolver = facesContext.getApplication().getELResolver();
    MyClass myBean = (MyClass) elResolver.getValue(facesContext.getELContext(), null,ApplicationConstants.MY_BEAN_NAME);

我更愿意在 xml 中执行此操作 - 这样做有什么好处还是没什么大不了的?

版本是 JSF 1.2 和 Spring 3

最佳答案

也许他们只是不喜欢 XML?

就个人而言,我会尽可能使用基于注解的依赖注入(inject),而不是 XML 配置或代码。

但是,在一种情况下,基于代码的方法是唯一可行的方法:当您有一个具有更大范围(例如 session 甚至应用程序)的托管 bean 时,它的其中一个操作需要访问托管 bean范围较小(例如请求)。

关于java - 通过 XML 或代码的 JSF Spring 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5800260/

相关文章:

java - 使用 Selenium WebDriver 进行 PrimeFaces fileUpload 测试

在 Azure 中部署时 Java SpringBoot 构建失败 - 无法执行 objective-c om.microsoft.azure :azure-webapp-maven-plugin:1. 1.0:deploy

java - 对导入包的正确方法感到困惑

java - Spring 组件扫描嵌套 jar

java - JSF - 获取 java.lang.NullPointerException

jsf - f :view in useful in jsf 2. 0如何?

java - 如何在struts应用程序中将log4j的日志文件保留在WEB-INF下

java - 如何在 Spring Boot 中获取静态资源(js、css)作为 ClassPathResource?

Spring Controller 方法执行两次

java - 如何在不发送另一个身份验证请求的情况下保持来自跨源(CORS)Spring security的登录 session