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

Springbeans在库中的使用

夹谷星河
2023-03-14

我正在开发一些libs供公司内部使用,它使用spring和spring-Boot。

我的bean定义遇到了问题。我想创建一些不属于我的库的对象bean,例如:

@Bean 
public Gson gson() { return new Gson();}

然而,每当我这样做时,它都会影响使用我的库并为它们创建bean的服务,这意味着它们将被迫使用我的Gson或通过定义spring来启用bean重写。主要的允许bean定义覆盖=true,这感觉是错误的。

  1. 在库中创建这种bean是一种好的做法吗
  2. 我如何告诉spring在我的库类内部而不是外部使用这个bean

谢谢

共有1个答案

祖麻雀
2023-03-14

更改bean名称和添加限定符应该可以:

@Bean 
@Qualifier("gsonForInternal")
public Gson gsonForInternal() { return new Gson();}

在自动布线的地方,您应该:

@Autowired 
@Qualifier("gsonForInternal")
private Gson gsonForInternal;
 类似资料:
  • 我试图找到一种方法来配置骆驼endpoint,使用从骆驼上下文中路由中的endpoint声明中引用的Spring bean,但它不起作用。 例如,有时用许多参数定义endpointURI是非常可怕的(!!),用bean及其属性配置endpoint会容易得多。(或者更好的是,在XML中配置endpoint时,或者元素应该有像常规bean这样的子元素,我们可以在其中配置endpoint的参数)。 下面

  • 问题内容: 我已经在bean的“销毁方法”中放入了sysout语句。当我运行示例代码时,sysout没有得到输出。这是否意味着销毁方法未得到调用? 测试类别: The Bean 配置文件: 问题答案: 你的示例不起作用,因为你没有关闭appcontext,只是让程序终止。 调用上下文,你将看到被调用的bean destroy-method。

  • 我有不同实现的< code>ProductHandler类,例如< code>ABCProductHandler、< code>DEFProductHandler等..它们是使用如下所示的命令模式从< code>ProductServiceImpl类调用的。 产品ServiceImpl类: 但是,我对上面的 类不满意,因为有很多带有样板代码的产品 调用。 现在,我的问题是,有什么方法可以轻松加载?

  • 如果Springbean配置发生变化,有没有办法动态更新Springbean? 例如,假设我有一个具有布尔属性的Springbean,当应用程序启动时,Springbean的值为。 因此spring创建了属性设置为true的bean。 是否有一种方法可以使我在应用程序运行时将属性更改为,该属性将被更新,例如更改为?

  • 问题内容: 我正在尝试使用c创建tar文件。由于某种原因我无法使用 我的代码是: 运行此代码后,当我想解压时 我收到一个错误 我的C代码有什么问题? 问题答案: 我认为您需要在关闭tar文件之前调用tar_append_eof http://linux.die.net/man/3/tar_append_eof。 tar_append_eof()函数将EOF标记(两个全为零的块)写入与t关联的tar

  • 我构建了一个ASP。NET核心应用程序,我创建了一个用于单元测试的.NET核心类库。 我想在我的库中使用(获取文件的物理路径),因此我在启动时添加了这一行。我的ASP。NET核心应用程序: 在库中,我添加了对我的ASP.NET应用程序的引用,在我的类中,我写了这个: 但是当我运行它时,它会给我这个错误: 以下构造函数参数没有匹配的设备日期:IHostingEnvironment env 有什么问题