Spring4.0可以为子类注入子类的泛型类型,成员变量的引用
BaseService<T>:有RoleService和UserService两的子类
BaseRepepositry<T>:有UserRepository和RoleRepositry两个子类
因为BaseService<T>继承 BaseRepepositry<T> ,得出下面的子类也存在这样的关系
代码:
User.java
public class User {
}
BaseService.java
import org.springframework.beans.factory.annotation.Autowired;
public class BaseService<T> {
@Autowired
protected BaseRepository<T> repository;
public void add(){
System.out.println("adding....");
System.out.println(repository);
}
}
UserService.java
import org.springframework.stereotype.Repository;
@Repository
public class UserService extends BaseService<User>{
}
BaseRepository.java
public class BaseRepository<T> {}
UserRepository.java
import org.springframework.stereotype.Repository;
@Repository //交给IOC容器来管理
public class UserRepository extends BaseRepository<User>{}
Main.java
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Main {
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
"applicationContext.xml");
UserService userService = (UserService) applicationContext.getBean("userService");
userService.add();
}
}
输出结果:
adding....
com.spring.txing.UserRepository@7174d93a
分享到:
相关推荐
标题中的“基于Hibernate+Spring 泛型GenericDao”的工程源码指的是一个整合了Spring框架和Hibernate ORM技术的项目,其中使用了泛型设计模式来实现数据访问对象(DAO)。这个项目可能旨在提供一种通用、可复用且...
Spring 中优雅的获取泛型信息的方法 在 Spring 框架中,获取泛型信息是非常重要的,在实际开发中经常会遇到这种情况。今天,我们来讨论如何在 Spring 中优雅地获取泛型信息。 第一种方法:通过反射获取泛型信息 ...
Java泛型是Java编程语言中的一个关键特性,它在2004年随着Java SE 5.0的发布而引入,极大地增强了类型安全性和代码可读性。泛型允许我们在编写代码时指定容器(如集合)可以存储的数据类型,从而在编译阶段就能捕获...
### 泛型Hibernate的实现与Spring集成 #### 一、泛型Hibernate概念及其实现 在Java开发领域,尤其在企业级应用开发中,Hibernate框架因其强大的对象关系映射(ORM)能力而受到广泛欢迎。泛型Hibernate是利用Java...
本文将深入探讨“Spring Hibernate 泛型DAO”这一主题,以及如何通过泛型DAO实现更加高效、可复用的代码。 首先,让我们理解什么是DAO(Data Access Object)模式。DAO是一种设计模式,它的主要作用是隔离业务逻辑...
本资料包"SpringIOC_泛型依赖注入.zip"主要关注的是Spring如何通过泛型进行依赖注入,这是一种更加灵活且类型安全的注入方式。 在Java编程中,泛型是一种强大的特性,允许我们在类、接口和方法中使用类型参数,从而...
总结来说,"Struts2+hibernate+spring整合泛型DAO"是一种常见的Java Web开发模式,它利用三大框架的优势,结合泛型设计,提高了代码复用,降低了维护成本,使得开发者能更专注于业务逻辑,而不是基础架构。
1.创建第一个 Spring 程序案例 2.Spring IoC案例 3.Spring Bean案例 4.Spring 表达式语言案例 5.Spring xml 配置案例 ...7.Spring 泛型依赖注入案例 8.Spring AOP案例 9.Spring JDBCTemplate案例 10.Spring 事务案例
spring-data-jdbc-repository, Spring Data JDBC泛型DAO实现 Spring Data JDBC泛型DAO实现查看正在积极开发和维护的 jirutka/spring-data-jdbc-repository fork 。 不再支持这里存储库。本项目的目的是为基于 ...
Struts2、Hibernate、Spring整合的泛型DAO (本人评价: 代码开发效率提高30% 代码出错率减少70%) 对于大多数开发人员,系统中的每个 DAO 编写几乎相同的代码到目前为止已经成为一种习惯。虽然所有人都将这种重复...
Spring的`BeanFactory`和`ApplicationContext`接口也使用了泛型,方便用户获取指定类型的bean。 3. 注解: 注解是一种元数据,为编译器或运行时环境提供有关代码的附加信息。在Spring框架中,注解扮演着至关重要的...
在Spring框架中,初始化泛型类是一个常见的需求,特别是在创建依赖注入的Bean时。本文将深入探讨Spring如何处理泛型类的初始化,并提供实例来帮助理解。 首先,我们需要理解Java中的泛型。泛型允许我们在类、接口和...
总的来说,"SSHWithAnnotationDemo"项目展示了如何利用现代Java技术栈的高级特性,包括Struts2、Spring3和Hibernate的注解功能,DAO层的泛型设计以及通用的分页实现,来构建一个高效、可维护的Web应用。这样的实践...
在Spring 4版本中,泛型依赖注入是一项重要的特性,它极大地提高了代码的灵活性和可维护性。本笔记将深入探讨SSH中的Spring框架如何实现泛型依赖注入。 首先,我们来理解泛型的基本概念。泛型是Java SE 5引入的一种...
这个基于Spring MVC和MyBatis的泛型代码生成模板就是为此目的设计的。 首先,Spring MVC是一个模型-视图-控制器(MVC)架构模式的实现,它使得开发者能够将业务逻辑、数据模型与用户界面分离,提高了代码的可维护性...
SSH泛型代码实例是关于Java编程中的一种常见技术——Spring、Struts和Hibernate(SSH)框架结合使用泛型的应用示例。泛型是Java SE 5.0引入的一个重要特性,它允许在编译时检查类型安全,并且所有的强制转换都是自动...
在Spring 4.0中,一个重要的改进是引入了对泛型依赖注入的支持,这使得开发者可以更加精确地控制依赖关系,从而提高了代码的可读性和类型安全性。在描述的示例中,我们看到`BaseDao`是一个泛型抽象类,它有一个泛...
至于`Dao经典泛型.doc`文件,可能是更深入的关于Hibernate泛型DAO的文档,可能包含了如何配置Spring、如何处理复杂查询以及如何优化泛型DAO的更多细节。阅读这份文档将进一步提升你对泛型DAO的理解和应用能力。 ...
在Spring4框架中,开发者们迎来了一项重要的更新——更优的Java泛型操作API。这一新特性极大地提升了代码的可读性和可维护性,同时也为开发者提供了更强大的工具来处理泛型类型。本文将深入探讨Spring4在这个领域所...