gpt4 book ai didi

java - 如何用spring在静态方法中注入(inject)依赖?

转载 作者:行者123 更新时间:2023-12-04 05:19:31 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:




9年前关闭。




Possible Duplicate:
How to make spring inject value into a static field



我有以下代码
public class CustomerService {

private static CustomerDAO customerDao;

public static void getAllCustomers()
{
customerDao.getAllCustomers();// here i want
}

public static CustomerDAO getCustomerDao() {
return customerDao;
}

public static void setCustomerDao(CustomerDAO customerDao) {
CustomerService.customerDao = customerDao;
}
}

现在我从 getAllCustomers 的 Action 对象调用 CustomerService.getAllCustomers()
是类级别的方法。我希望在 CustomerService 类中由 spring 注入(inject) customerDao
这样当我调用 getAllCustomers 依赖项时可用?

我正在使用spring decalarative依赖注入(inject)

最佳答案

您的设计与 Spring IoC 的基本前提正面冲突。一个 static方法无非就是一个单例方法,而IoC容器的核心就是管理你的单例。您必须重新设计以使用实例方法和字段。

唯一的办法static方法进入图片就像工厂方法一样,当需要一些复杂的逻辑来为容器贡献一个单例时。

关于java - 如何用spring在静态方法中注入(inject)依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13818154/

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