gpt4 book ai didi

java - Spring 依赖注入(inject)到带有构造函数的类

转载 作者:行者123 更新时间:2023-11-30 07:07:02 25 4
gpt4 key购买 nike

我对整个 spring 依赖注入(inject)有点陌生。有件事我不明白,希望有人能为我澄清......

我有一项服务:

@Service
public class Service {...}

还有另一个类:

public class A{
@Autowired
private Service service;
...
}

在这种情况下,Service 将按预期注入(inject)到 A 类中。据我所知,A类中不能使用构造函数,否则注入(inject)将无法进行。有没有办法在A类中使用构造函数并同时注入(inject)Service?即:

public class A{
@Autowired
private Service service;

private String a;
private int b;
public A(String a,int b){
this.a = a;
this.b = b;
}
}

在这种情况下,我发现服务为空,无论如何要解决这个问题吗?我希望能够使用“new”从类型 A 创建一个对象,并注入(inject)服务,这可能吗?

谢谢。

最佳答案

重要的是您的两个类都应该是 Spring bean。

这又意味着所有实例化都将由 Spring 容器完成。要了解如何正确处理基于构造函数的依赖注入(inject),请检查 ref doc 的这一点

如果为什么,您不能将类 A 设为 Spring bean,那么推荐的方法是使用 @Configurable 对其进行注释,这将在创建时 Autowiring 依赖项。

请注意,为此,您需要启用方面。我快速搜索了一下,发现了这个 blog这似乎很好地解释了细节

关于java - Spring 依赖注入(inject)到带有构造函数的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39930654/

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