当前位置: 首页 > 知识库问答 >
问题:

如何在不使用Spring IOC的情况下在JSF托管bean中注入服务

西门山
2023-03-14

通常,如果我必须在Spring中注入服务,我会使用

 <bean id="mycontroller" class="com.MyController">
    <property name="myService" ref="myService" />

<bean id="myService" class="com.MyService"></bean>

共有1个答案

贺佑运
2023-03-14

我想你可能会被“豆”这个词弄糊涂了。事情是这样的,你说的“服务”也是一个春豆,对吧?

您可能将其作为服务使用,因为根据您的配置,Spring添加了一些附加特性(可能是事务管理)。

JSF IoC容器非常简单,它不允许您将其生命周期配置为包括事务管理、AOP和类似的东西。您必须使用Spring(或Java EE环境中的EJB)来完成的这些事情。

  1. 要么将JSF页面的支持bean放在JSF容器中,用@managedbean@requestscoped@viewscoped等注释它们;并使用@managedproperty在属性中注入任何必要的Spring bean(需要设置器)
  2. 或跳过JSF容器,将backing bean与所有其他bean一起放在Spring容器中,并使用请求/会话的Spring作用域,用Spring的注释对它们进行注释@component@scope(“request”)@scope(“session”)并用@autowired@qualifier等注入。

就我个人而言,面对这个选择,我会选择第一个选择,因为它为您提供了@viewscoped和其他一些细节。它确实使用了两个IoC容器,但是,哪个Java EE应用程序不使用呢?

如果您想走第二条路,还可以为Spring bean添加一个视图范围,由JSF ViewMap支持。

 类似资料:
  • 问题内容: 我了解托管bean的工作方式类似于控制器,因为你的唯一任务是将“视图层”与模型“链接”。 要将bean用作托管bean,我必须声明注释,这样我就可以直接与bean通信JSF。 如果要在此managedBean中注入某些组件(来自Spring),则有两种可能的方法: 在ManagedBean中选择属性(例如“ BasicDAO dao”),然后在该属性上方进行声明。这样做,我是将”bas

  • 我理解托管bean的工作方式类似于控制器,因为您唯一的任务是将视图层与模型“链接”。 要将bean用作托管bean,我必须声明注释,这样我就可以直接与bean进行JSF通信。 如果我想在这个managedBean中注入一些组件(来自Spring),我有两种可能的方法: > 选择ManagedBean中的属性(如“basicdao dao”)并在该属性上方声明。为此,我在ManagedBean中注入

  • 主要内容:实例,运行测试结果以下代码显示了如何进行bean注入。 我们先定义一个消息bean,它有一个字符串属性来存储消息。 然后我们再定义另一个托管bean,并使用注解注入。 实例 打开 NetBean8.2,创建一个名为: InjectManagedBeans 的工程,并加入以下文件代码。 以下是文件:UserBean.java 中的代码 - 以下是是文件:index.xhtml 中的代码 - 以下是文件:Message

  • 我在演示应用程序中使用了JSF2+Spring3.1+Hibernate4,我想使用注释来创建会话工厂,但是我的DAO类没有在Jsf托管Bea类中初始化,所以我得到了空指针异常。我的ApplicationContext.xml 现在,在Managedbean方法中,DAO对象为null,我得到的是null指针异常

  • 我有一个简单的Quarkus资源: 我试图将实例注入到我的资源中,但是我得到了一个。但是,如果我在上使用注释,那么一切都很好。是否有一种方法可以在不使用注释的情况下将类注入到我的资源中?换句话说,是否有一种方法可以使Quakus容器可以发现而不直接注释该类? 编辑:查看CDI文档,似乎可以使用带有注释的方法手动注册bean。但是,我不清楚哪个类应该包含带注释的方法) 另一个选择是使用Jandex索

  • 托管bean它是一个纯Java类,它包含一组属性和一组,方法。 以下是托管bean方法执行的常见功能: 验证组件的数据 处理组件触发的事件 执行处理以确定应用程序必须导航的下一页 它也可以作为JFS框架的模型。 JSF托管Bean示例 请看看下面一段示例代码 - 您可以通过以下方式使用此。 通过配置成XML文件。 通过使用注释。 通过XML文件配置托管Bean 在xml文件配置是比较旧方法。 在这