假设我有一个spring bean我想在整个应用程序中使用,但是因为它是遗留代码,所以我不能在@component
或任何类型的bean中使用它,因为这个类是在整个项目中手动实例化的,所以我不能在我想要的地方自动地使用它。
我如何为一个我想要重用的spring bean创建一个包装器类,配置如下,这样它除了返回在应用程序上下文中注册的bean的实例之外什么都不做?
@Service("myBean")
public class MyBean {
基本上,我正在寻找类似myBeanholder.java
的方法,如:
public MyBean getGlobalInstance() {
//return my global instance of MyBean
}
这样,在我想使用MyBean的任何地方,我都可以通过这个getGlobalInstance()
方法获取实例。
假设您的方法getGlobalInstance
在类中,这也是一个spring bean,您可以这样做:
class MyBeanHolder {
@Autowired
ApplicationContext applicationContext;
public MyBean getGlobalInstance() {
return applicationContext.getBean(MyBean.class);
}
}
否则,您可以实现接口ApplicationContextAWare
来获取应用程序上下文,在那里您可以找到具有GetBean
的bean
问题内容: 我创建了一个Spring方面来处理Retry机制。我还创建了一个Retry注释。以下是重试注释的代码以及处理此注释的方面。 要启用注释,我需要实例化RetryInterceptor类。我要确保对于给定的上下文,只有该对象的一个实例。如果由于某种原因创建了多个对象,那么我的建议将被应用多次。我如何才能完全确保始终有1个实例? 问题答案: 我找到了一种方法:)引用:超越DI 我在我的根
我有一个<code>用户名 然后我有一个
当我试图用Springboot在数据库中保存一个实体时,出现了一种奇怪的行为。 使用调试器,我检查了我的列表仅包含一个订单。除了设置为的属性之外,此订单已完全实例化。 数据库为空,位于
我正在尝试使用JpaRepository、spring boot和mysql发布文章 我有一张像这样的桌子 每当我尝试保存数据时,无论我传递什么值,列user总是0。 存储库如下所示 控制器如下所示
假设我有一个应用程序,有许多不同的实体,它们之间没有关系。 我想创建一个搜索,查询所有这些,但返回一个统一的类型,即: 你认为有办法让它起作用吗?
我有下面的课,我试图测试。我遇到问题的方法是,因为我试图存根/模拟行为,然后在测试中验证行为。