java - 泛型类型的 Autowiring 不起作用 [Spring 4+]

标签 java spring spring-mvc generics autowired

我正在使用 Spring 4.2.4.RELEASE 开发一个项目。

我听说过 Spring 4 的新功能(尤其是 autowiring of generic types ),并且当以下代码尚未编译时我感到很困惑:

@Service
public interface AuthenticationService<T> { ... }

public class VKAuthenticationService implements AuthenticationService<VKToken> { ... }

@RestController
public class VKAuthenticationController {
   @Autowired
   private AuthenticationService<VKToken> service;
}

预先感谢您提供的任何帮助。

最佳答案

在您的 VKAuthenticationService 上声明 @Service 怎么样?

@Service(name="myService")
public class VKAuthenticationService implements AuthenticationService<VKToken> { ... }

并使用@Autowired@Qualifier来注入(inject)它

@RestController
public class VKAuthenticationController {
   @Autowired
   @Qualifier("myService")
   private AuthenticationService<VKToken> service;
}

关于java - 泛型类型的 Autowiring 不起作用 [Spring 4+],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36236826/

相关文章:

java - Spring 不断返回字符串而不是 jsp/html 内容

java - 无法从 java 连接到 MySql

javascript - 当我尝试将 JSON 发送到 Spring 时,不支持内容类型 'application/json;charset=UTF-8'

java - 绑定(bind)动态列表时的奇怪问题

java - 测试中未加载 Spring Boot *.hbm.xml 映射文件

java - 如何在测试中启用Spring的自动配置报告?

javascript - AJAX/ Spring MVC : JSON Object rendering in bracket notation in POST request

java - 使用递归在 Java 中以正确的格式打印菱形图案

java - 将捕获的图像发送到android中的web服务器

java - GridBagLayout 创建非常小的面板