通用的java bean_java-如何在Spring中自动装配通用类型<T>的Bean?

一个简单的解决方案是升级到Spring 4.0,因为它将自动以2562824378738731987968的形式考虑泛型,如下所示:

@Autowired

private Item strItem; // Injects the stringItem bean

@Autowired

private Item intItem; // Injects the integerItem bean

实际上,您甚至可以在注入列表时自动嵌套嵌套的泛型,如下所示:

// Inject all Item beans as long as they have an generic

// Item beans will not appear in this list

@Autowired

private List> intItems;

如何运作?

新的ResolvableType类提供了实际使用泛型类型的逻辑。 您可以自己使用它来轻松浏览和解析类型信息。 ResolvableType上的大多数方法本身都会返回ResolvableType,例如:

// Assuming 'field' refers to 'intItems' above

ResolvableType t1 = ResolvableType.forField(field); // List>

ResolvableType t2 = t1.getGeneric(); // Item

ResolvableType t3 = t2.getGeneric(); // Integer

Class> c = t3.resolve(); // Integer.class

// or more succinctly

Class> c = ResolvableType.forField(field).resolveGeneric(0, 0);

在下面的链接中查看示例和教程。

Spring Framework 4.0和Java泛型

弹簧和通用类型的自动装配

希望这对您有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值