gpt4 book ai didi

java - Spring中如何 Autowiring 基于bean的通用值?

转载 作者:行者123 更新时间:2023-12-01 17:50:02 25 4
gpt4 key购买 nike

我有以下代码结构

@Component
public class MyServiceUser{
@Autowired
private MyService<FirstMyDao> dao;

}

@Service
public class MyService<T extends AbstractMyDao>{

@Autowired
private T myDao;
}

abstract class AbstractMyDao{}
@Repository
class FirstMyDao extends AbstractMyDao{}

@Repository
class SecondMyDao extends AbstractMyDao{}

Spring说他无法解析service中设置的是哪种类型的dao。我可以做吗?我读了几篇文章但没有找到答案( https://blog.jayway.com/2013/11/03/spring-and-autowiring-of-generic-types/How to Autowire Bean of generic type <T> in Spring? )。

最佳答案

我认为你应该在MyService中使用@Scope("prototype")

为每个注入(inject)对象创建具有作用域原型(prototype)的 Bean。

示例:

@Service
@Scope("prototype")
public class MyService<T extends AbstractMyDao>{

@Autowired
private T myDao;
}

关于java - Spring中如何 Autowiring 基于bean的通用值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51400930/

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