spring4泛型注入
来源:互联网 发布:ug8.0编程在线视频观看 编辑:程序博客网 时间:2024/05/17 09:12
Spring 4.x 中可以为子类注入子类对应的泛型类型的成员变量的引用,(这样子类和子类对应的泛型类自动建立关系)
具体说明:
泛型注入:就是Bean1和Bean2注入了泛型,并且Bean1和Bean2建立依赖关系,这样子类Bean3(继承bean1)和bean4(继承bean2)就会自动建立关系
不是泛型注入:就是说Bean1和Bean2都没有注入泛型,只是建立了关系,子类Bean3(继承bean1)和bean4(继承bean2)也会自动建立关系
泛型依赖注入的实现步骤:
1新建两个泛型类,并建立依赖关系:
具体代码:
BaseRepository:
package com.jeremy.spring.genericityDI;public class BaseRepository{}
BaseService:
package com.jeremy.spring.genericityDI;import org.springframework.beans.factory.annotation.Autowired;public class BaseService<T> { @Autowired------//这里告诉IOC容器自动装配有依赖关系的Bean protected BaseRepository baseRepository;--------//这里是子类继承依赖关系 public void add(){ System.out.println("add.............."); System.out.println(baseRepository); }}
2新建一个泛型类:
User:
package com.jeremy.spring.genericityDI;public class User {}
3新建BaseRepository和BaseService的子类
UserRepository:
package com.jeremy.spring.genericityDI;import org.springframework.stereotype.Component;@Componentpublic class UserRepository extends BaseRepository{ }
UserService:
package com.jeremy.spring.genericityDI;import org.springframework.stereotype.Service;@Servicepublic class UserService extends BaseService{}
4:在Spring的配置文件中配置自动装配带有注解的Bean:
<?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.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"><context:component-scan base-package="com.jeremy.spring.genericityDI"></context:component-scan></beans>
5测试代码和结果
测试代码:
@Test public void test() { ApplicationContext actx=new ClassPathXmlApplicationContext("Bean-genericity-di.xml"); UserService userService=(UserService) actx.getBean("userService"); userService.add(); }
测试结果:
add..............com.jeremy.spring.genericityDI.UserRepository@16546ef
从结果看,虽然子类没有建立依赖关系,但userRepository实例还是被实例化了,就证明了父类的依赖关系,子类是可以继承的
其实这里也可以说明,就算父类不是被IOC容器管理,但是建立关系时添加了@Autowired注解,父类的关系会被继承下来
0 0
- spring4泛型注入
- Spring4学习笔记-泛型依赖注入
- 浅谈spring4泛型依赖注入
- spring4.0之泛型依赖注入
- Spring4新特性:泛型限定式依赖注入
- Spring4新特性:泛型限定式依赖注入
- Spring4.0新特性--泛型依赖注入
- Spring4新特性:泛型限定式依赖注入
- Spring4新特性:泛型限定式依赖注入
- Spring4.0之后的新特性--泛型依赖注入
- Spring4新特性——泛型限定式依赖注入
- Spring4新特性——泛型限定式依赖注入
- Spring4新特性——泛型限定式依赖注入
- Spring4新特性——泛型限定式依赖注入
- Spring4新特性——泛型限定式依赖注入
- Spring-13:泛型依赖注入(Spring4.X新特性)
- Spring之泛型依赖注入---spring4.0的新特性
- 1. Spring4.1-依赖注入
- 编程之路-服务端知识点纲要
- MySQL中不能插入中文解决办法
- Html入门学习总结
- Android Layout布局及属性
- Linux程序设计(curses使用示例)
- spring4泛型注入
- 黑马程序员----oc加强笔记----内存管理
- 稀疏编码自编码表达
- C/C++ struct/class/union内存对齐 [转]
- M进制字符串转为N进制字符串
- 新浪云sae部署yii2.0.6项目
- hdu1070
- UVA10305拓扑排序
- hdu 4308 Saving Princess claire_