泛型依赖注入

BaseRepository.java

package com.spring.beans.generic.di;public class BaseRepository <T>{}

BaseService.java

package com.spring.beans.generic.di;import org.springframework.beans.factory.annotation.Autowired;public class BaseService <T>{@Autowiredprotected BaseRepository<T>baseRepository;public void add() {System.out.println("add...");System.out.println(baseRepository);}
}

UserRepository.java

package com.spring.beans.generic.di;import org.springframework.stereotype.Repository;@Repository
public class UserRepository extends BaseRepository<User>{}

UserService.java

package com.spring.beans.generic.di;import org.springframework.stereotype.Service;@Service
public class UserService extends BaseService<User>{}

beans-generic-di.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:aop="http://www.springframework.org/schema/aop"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/aop  http://www.springframework.org/schema/aop/spring-aop-4.0.xsd"><context:component-scan base-package="com.spring.beans.generic.di" ></context:component-scan></beans>

Main.java

   public static void main(String[] args) {ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans-generic-di.xml");UserService userService = (UserService) applicationContext.getBean("userService");userService.add();}

输出

2014-9-22 20:20:17 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh

信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@8b819f: startup date [Mon Sep 22 20:20:17 CST 2014]; root of context hierarchy

2014-9-22 20:20:17 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions

信息: Loading XML bean definitions from class path resource [beans-generic-di.xml]

add...

com.spring.beans.generic.di.UserRepository@c01e99

转载于:https://blog.51cto.com/shamrock/1557073

Spring4学习笔记-泛型依赖注入相关推荐

  1. SpringMVC:学习笔记(11)——依赖注入与@Autowired

    SpringMVC:学习笔记(11)--依赖注入与@Autowired 使用@Autowired 从Spring2.5开始,它引入了一种全新的依赖注入方式,即通过@Autowired注解.这个注解允许 ...

  2. Spring整体学习笔记-IoC依赖注入-AOP代理-整合Spring-Mybatis

    Spring 简介 行业春天 解决企业级开发的复杂性,使现有的技术更容易使用,本身是个大杂烩,整合了现有的技术框架 不要重复造轮子 SSH:Struct2+Spring+Hibernate SSM:S ...

  3. java 构造器注入_Spring学习笔记1—依赖注入(构造器注入、set注入和注解注入)...

    什么是依赖注入 在以前的java开发中,某个类中需要依赖其它类的方法时,通常是new一个依赖类再调用类实例的方法,这种方法耦合度太高并且不容易测试,spring提出了依赖注入的思想,即依赖类不由程序员 ...

  4. Spring.Net学习笔记(2)-依赖注入

    一.开发环境 操作系统:Win10 编译器:VS2013 framework版本:.net 4.5 Spring版本:1.3.1 二.涉及程序集 Spring.Core.dll Common.Logg ...

  5. spring学习笔记03-spring-DI-依赖注入详解(通过xml配置文件来配置依赖注入)

    spring学习笔记03-spring-DI-依赖注入详解 1.概念 2.构造函数注入 3.set方法注入 4.集合的注入 需要被注入的实体对象 package com.itheima.service ...

  6. 实验23:测试泛型依赖注入★

    <!-- 实验23:测试泛型依赖注入★ --> Book.java package com.atguigu.bean;public class Book {} User.java pack ...

  7. Spring学习4之依赖注入(DI)

    前言 上节学习了IOC创建对象的方式,我们在不知不觉中使用了最简单的构造注入,什么是构造注入,什么又是依赖注入呢? 一.首先我们要了解DI是什么? 创建对象的过程中Spring可以依据配置对象的属性进 ...

  8. Spring4学习笔记

    Spring4学习 day02 1.spring是开源的轻量级框架 2. spring核心主要的两部分 --aop:面向切面编程,扩展功能不是修改源代码实现 --ioc:控制反转 比如有一个类,在类里 ...

  9. 《Java 核心技术卷1 第10版》学习笔记 ------ 泛型【基础】

    泛型从Java SE 5.0 中开始出现,是 Java 程序设计语言从 1.0 版本发布以来,变化最大的部分. 使用泛型机制编写的程序代码要比那些杂乱地使用 Object 变量,然后再进行强制类型转换 ...

最新文章

  1. 计算机网络应用基础 王建珍,计算机网络应用基础
  2. 不输GPS!30颗卫星全部就位!北斗三号全球卫星导航星座部署顺利收官
  3. spark-submit参数说明--on YARN
  4. 职场警示录:栽在邮件上的N种死法
  5. java 匿名访问权限_java-春季安全性allowAll()不允许匿名访问
  6. ASP.NET Core 2.0 全局配置项
  7. 【Vue.js 3.0】不使用根标签,Error:[vue/no-multiple-template-root] The template root requires exactly one ...
  8. 在家办公,我比上班还累你信吗?
  9. 天线接口:SMA、TNC 有什么差别?
  10. 关于Windows mobile设备中心,同步软件不出现,打开卡住问题的解决
  11. uniapp 学习笔记三十 结算页面结构搭建地址列表页面结构搭建
  12. 《缠中说禅108课》6:本 ID 如何在五粮液、包钢权证上提款的
  13. PCL中点云配准精通级实例解析
  14. 微信小程序笔记(三)
  15. NTC热敏电阻基础以及应用和选择(转)
  16. cesium创建、添加json数据
  17. 相机标定 calib3d 学习笔记
  18. 计算机多出一个盘无法读,电脑有一个盘读不出来了
  19. AlarmManager详解
  20. vue文件行内样式style提示插件

热门文章

  1. 错误代码1833 Cannot change column used in a foreign
  2. 大多数物联网仍采用2.4GHz频段的原因
  3. “bim”技术助力“智慧城市”建设
  4. iOS NSNumber转化NSString之description
  5. 大学二级计算机基础知识,浙江省大学生计算机基础知识与应用能力等级考试二级(V......
  6. Hbase分布式列存储数据库
  7. Hive最全学习笔记总结
  8. 为何数据治理如此重要
  9. 机器学习实践笔记(二)EOF
  10. python报表自动化系列 - 译码:与Excel单元格索引对应的十进制数坐标