spring 4 泛型注入

spring 4 泛型注入最近对系统进行改造,发现在泛型实例初始化的时候,得不到想要的泛型。或者需要强制转换。spring4开始支持泛型对象初始化,初始化方法如下:注:使用配置文件的方法暂时还没有发现,下面是使用javaannotation的方法:packagecom.mitchz..toolkit.chain;importjava.util.List;importjava.util.M

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

最近对系统进行改造,发现在泛型实例初始化的时候,得不到想要的泛型。或者需要强制转换。

spring 4 开始支持泛型对象初始化,初始化方法如下:

注:使用配置文件的方法暂时还没有发现,下面是使用java annotation的方法:

package com.mitchz..toolkit.chain;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.asiainfo.iposs.toolkit.chain.spring.TestMessageContext;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;

/**
 * @author zhangya 
 * @version 1.0
 * @since 2014年5月25日
 * @category com.mitchz.toolkit.chain
 */
@Configuration
public class TestConfiguration
{

	@Autowired
	@Qualifier("getCustomerInfo")
	HandlerCommand<String, Object, TestMessageContext> getCustomerInfo;
	@Autowired
	@Qualifier("testDriveVehicle")
	HandlerCommand<String, Object, TestMessageContext> testDriveVehicle;
	@Autowired
	@Qualifier("negotiateSale")
	HandlerCommand<String, Object, TestMessageContext> negotiateSale;
	@Autowired
	@Qualifier("arrangeFinancing")
	HandlerCommand<String, Object, TestMessageContext> arrangeFinancing;
	@Autowired
	@Qualifier("closeSale")
	HandlerCommand<String, Object, TestMessageContext> closeSale;
	@Autowired
	@Qualifier("chain1")
	HandlerChain<String, Object, TestMessageContext> chain1;
	@Autowired
	@Qualifier("chain2")
	HandlerChain<String, Object, TestMessageContext> chain2;

	@Bean(name = "chain1")
	public HandlerChain<String, Object, TestMessageContext> createChain1()
	{
		List<HandlerCommand<String, Object, TestMessageContext>> commands = Lists
				.newArrayList();
		commands.add(getCustomerInfo);
		commands.add(testDriveVehicle);
		commands.add(negotiateSale);
		commands.add(arrangeFinancing);
		commands.add(closeSale);
		return new HandlerChain<String, Object, TestMessageContext>(commands);
	}

	@Bean(name = "chain2")
	public HandlerChain<String, Object, TestMessageContext> createChain2()
	{
		List<HandlerCommand<String, Object, TestMessageContext>> commands = Lists
				.newArrayList();
		commands.add(getCustomerInfo);
		commands.add(arrangeFinancing);
		commands.add(closeSale);
		return new HandlerChain<String, Object, TestMessageContext>(commands);
	}

	@Bean(name = "catalog")
	public HandlerCatalog<String, Object, TestMessageContext> createCatalog()
	{
		Map<String, HandlerChain<String, Object, TestMessageContext>> commands = Maps
				.newHashMap();
		commands.put("chain1", chain1);
		commands.put("chain2", chain2);
		return new HandlerCatalog<String, Object, TestMessageContext>(commands);
	}
}

 完整的例子参考:

http://spring.io/blog/2013/12/03/spring-framework-4-0-and-java-generics

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159970.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • [Linux]Ubuntu 20.04换阿里源

    [Linux]Ubuntu 20.04换阿里源注意,这篇文章其实不是简单的教你怎么换成20.04的源,而是教你一种基于20.04的**方法**来换源。笔者在写这篇文章的时候,20.04还没有release出来正式版,但是已经可以在仓库里看到有源存在了,故写下这篇文章。

    2022年5月14日
    66
  • 详解 MNIST 数据集

    MNIST数据集已经是一个被”嚼烂”了的数据集,很多教程都会对它”下手”,几乎成为一个“典范”.不过有些人可能对它还不是很了解,下面来介绍一下.MNIST数据集可在http://yann.lecun.com/exdb/mnist/获取,它包含了四个部分:Trainingsetimages:train-images-idx3-ubyte.gz(9.9MB,解压后47

    2022年4月6日
    285
  • 你的Wi-Fi 还安全吗?全球重大漏洞WPA2 KRACK 详细分析报告

    你的Wi-Fi 还安全吗?全球重大漏洞WPA2 KRACK 详细分析报告近日,Wi-Fi加密协议被曝光存在重大安全漏洞,用于保护Wi-Fi网络安全的WPA2安全加密协议已被黑客破解。这种被称作“Krack”(密钥重装攻击)攻击意味着用户连接的绝大多数Wi-Fi已经不安全了,包括家中的路由器Wi-Fi,都存在被盗号的风险。攻击者可通过此漏洞获取万能密钥来访问WPA2网络,从而窃听用户的通讯信息。究竟这个漏洞是由哪些缺陷引起的?会对用户造成什么影响?作为技术人的我们,又…

    2022年5月4日
    50
  • 居民身份证号码组成规则

    居民身份证号码组成规则第一、二位表示省(自治区、直辖市、特别行政区)。第三、四位表示市(地级市、自治州、地区、盟及直辖市所属区和县的汇总码)。其中,01-20,51-70表示地级市;21-50表示地区(自治州、盟)。第

    2022年8月5日
    9
  • Linux-Memory小记

    Linux-Memory小记

    2022年2月23日
    38
  • php反射型xss,反射型XSS测试及修复

    php反射型xss,反射型XSS测试及修复反射型XSS一般出现的位置,如GET参数中测试搜索功能F12查看源码,查找出现1111的位置第一个位置在title处尝试闭合掉title标签,然后测试JS代码,成功弹窗查看源码,XSS执行第二处位置在搜索框,此处XSS无法执行,因为位于value属性内,需要将其闭合测试时注意闭合掉多余的双引号”接下来对XSS漏洞进行源码修复第一处XSS在title位置,输入的搜索参数ks直接echo输出,没有进行…

    2022年6月14日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号