小编Pet*_*eef的帖子

Spring-自动装配通用接口的通用实现

我有一个小问题。这可能是微不足道的,但我以前从未遇到过。

我有通用接口及其通用实现。我想为其自动接线,但是发生了错误。详细信息如下:

接口

@Service
public interface Serializing<T extends Serializable> {
    String serialize(T toBeSerialized);

    T deserialize(String toBeDeserialized, Class<T> resultType);
}
Run Code Online (Sandbox Code Playgroud)

实作

@Service
public class JsonSerializer<T extends Serializable> implements Serializing<T> {
   /** code **/
}
Run Code Online (Sandbox Code Playgroud)

自动接线尝试

private NoteDAO noteDAO;

@Qualifier("jsonSerializer")
private Serializing<UserComment> serializer;

@Autowired
public NoteController(NoteDAO noteDAO, Serializing<UserComment> serializer) {
    this.noteDAO = noteDAO;
    this.serializer = serializer;
}
Run Code Online (Sandbox Code Playgroud)

错误

Parameter 1 of constructor in somepackagepath.NoteController required a bean of type 'anotherpackagepath.Serializing' that could not be found.
Run Code Online (Sandbox Code Playgroud)

我想让它尽可能简单。我已经检查过Web,但是只发现了有关在配置中定义确切的bean的信息。如果可能,我宁愿避免这样做。

java generics spring autowired

2
推荐指数
1
解决办法
2017
查看次数

标签 统计

autowired ×1

generics ×1

java ×1

spring ×1