当前位置: 首页 > 面试题库 >

将bean注入到Spring托管上下文之外的类中

蓝昊然
2023-03-14
问题内容

我是公司产品之一的最终用户。它不太适合集成到Spring中,但是我能够获取上下文的句柄并按名称检索所需的bean。但是,我仍然想知道是否可以将bean注入到此类中,即使该类不是由Spring本身管理的。

说明:管理某个类MyClass的生命周期的同一应用程序也正在管理Spring上下文的生命周期。Spring没有MyClass实例的知识,我想了解如何将实例提供给上下文,但是不能在上下文本身中创建实例。


问题答案:

你可以这样做:

ApplicationContext ctx = ...
YourClass someBeanNotCreatedBySpring = ...
ctx.getAutowireCapableBeanFactory().autowireBeanProperties(
    someBeanNotCreatedBySpring,
    AutowireCapableBeanFactory.AUTOWIRE_AUTODETECT, true);

您可以在其中使用@Autowired等等YourClass来指定要注入的字段等。



 类似资料:
  • 问题内容: 我是公司产品之一的最终用户。它不太适合集成到Spring中,但是我能够获取上下文的句柄并按名称检索所需的bean。但是,我仍然想知道是否可以将bean注入到此类中,即使该类不是由Spring本身管理的。 说明:管理某个类MyClass的生命周期的同一应用程序也正在管理Spring上下文的生命周期。Spring没有MyClass实例的知识,我想了解如何将实例提供给上下文,但是不能在上下文

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

  • 我希望能够通过辅助注入创建的对象来发现/注入创建对象的方法的名称。 我想做的一个例子: 不幸的是,到目前为止,我想到的实现这一点的唯一方法是 扩展辅助注射(通过复制和粘贴)以添加我的功能 写一些与辅助注射非常相似的东西,为我做这件事 写很多样板,在没有guices帮助的情况下做到这一点 我正在寻找一个解决方案,大致如下: < li >实现这一点的一些guice配置或模式 < li >实现此功能的一

  • 我正计划将一个web应用程序从使用JSF托管bean转换为使用CDI托管bean。我知道我需要做以下工作: 在WEB-INF中添加空beans.xml文件。 将所有JSF@ManagedBean替换为CDI@Named Annotations。 用CDI或OmniFaces作用域注释替换所有JSF作用域注释。 将所有JSF@ManagedProperty替换为CDI@Inject Annotati

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

  • 问题内容: 我在演示应用程序中使用JSF2 + Spring3.1 + Hibernate4,我将要使用批注创建会话工厂,但我的DAO类未在Jsf Managed Bea类中初始化,因此我得到了Null指针异常。我的 applicationContext.xml UserDAO.java类 和我的ManagedBean类 现在在Managedbean方法中,DAO对象为null,并且我得到了Nul