gpt4 book ai didi

java - 如何在 Spring+JSF 应用程序中使用 JSF 注解

转载 作者:行者123 更新时间:2023-12-01 15:29:16 24 4
gpt4 key购买 nike

我想在 JSF ManagedBean 中注入(inject) spring bean。现在我用:applicationContext.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<bean id="service" class="com.evgeny.domain.TestService"></bean>

</beans>

face-config.xml:

<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">

<application>
<el-resolver>
org.springframework.web.jsf.el.SpringBeanFacesELResolver
</el-resolver>
</application>

<managed-bean>
<managed-bean-name>facesBean</managed-bean-name>
<managed-bean-class>com.evgeny.jsf.FacesBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>service</property-name>
<value>#{service}</value>
</managed-property>
</managed-bean>

</faces-config>

...并且它有效。但我想对 JSF bean 使用注释。那么如何在@ManagedBean注解的bean中注入(inject)TestService呢?

最佳答案

您可以使用@ManagedProperty

通过注入(inject)

@ManagedProperty(value="#{testService}")
private TestService testService;

像使用注释一样定义服务实现

@Service(value = "testService")
public class TestServiceImpl implements TestService

当您在 xml 文件中定义了 bean 时,您可以用该 bean id 替换 @ManagedProperty 注入(inject)中的值

希望这有帮助!!!!

关于java - 如何在 Spring+JSF 应用程序中使用 JSF 注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9761110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com