Spring学习(16)--- 基于Java类的配置Bean 之 基于泛型的自动装配(spring4新增)
2015-07-08 15:20
971 查看
例子:
定义泛型Store
两个实现类StringStore,IntegerStore
java config实现bean配置
XML配置:
单元测试:
结果:
也可参考(挺详细的):http://blog.csdn.net/yangxt/article/details/19970323
定义泛型Store
package javabased; public interface Store<T> { }
两个实现类StringStore,IntegerStore
package javabased; public class IntegerStore implements Store<Integer> { }
package javabased; public class StringStore implements Store<String> { }
java config实现bean配置
package javabased; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class StoreConfig { @Autowired private Store<String> s1; @Autowired private Store<Integer> s2; @Bean public StringStore stringStore() { return new StringStore(); } @Bean public IntegerStore integerStore() { return new IntegerStore(); } @Bean(name="test_generic") public String print(){ //测试 System.out.println("s1 : "+s1.getClass().getName()); System.out.println("s2 : "+s2.getClass().getName()); return ""; } }
XML配置:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd"> <context:component-scan base-package="javabased"> </context:component-scan> </beans>
单元测试:
package javabased; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class UnitTest { @Test public void test(){ ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-beanannotation.xml"); context.getBean("test_generic"); } }
结果:
2015-7-8 15:12:04 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh 信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@32bf7190: startup date [Wed Jul 08 15:12:04 CST 2015]; root of context hierarchy 2015-7-8 15:12:04 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 信息: Loading XML bean definitions from class path resource [spring-beanannotation.xml] s1 : javabased.StringStore s2 : javabased.IntegerStore
也可参考(挺详细的):http://blog.csdn.net/yangxt/article/details/19970323
相关文章推荐
- maven3常用命令、java项目搭建、web项目搭建详细图解
- 【Java】编写代码,移除未排序链表中的重复结点
- SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
- java中匿名内部类
- java的string常用操作
- java几个语法规则
- Spring整合freemarker发送邮件
- eclipse参数配置
- Java模式(适配器模式)
- 使用JavaMail发送邮件和接受邮件
- Struts2中转换Date类型的问题(IE)
- 第一篇 JDK、JRE、JVM三者的关系
- Spring中加载配置文件的方式
- Java -- SpringMVC+Mybatis+Mecached组合
- Struts国际化实例
- 深入剖析Java中的装箱和拆箱
- java责任链模式
- JAVA LADP获取AD域用户列表信息
- java去除字符串中的空格\t、回车\n、换行符\r、制表符\t
- 通过抽象工厂模式再理解java的上转型