Spring中的抽象bean有点不同于抽象类。事实上,Spring中的抽象bean甚至不需要映射到任何类。以此为例:

和类:

public class FooDao {

private DataSource dataSource;

private SomeHelper someHelper;

private FooHelper fooHelper;

//setters

}

public class BarDao {

private DataSource dataSource;

private SomeHelper someHelper;

private BarHelper barHelper;

//setters

}

注意,FooDao和BarDao没有任何共同的父类(抽象或不是)基类。父抽象bean定义仅用于对公共属性进行分组,以避免在XML中重复。

另一方面,引入FooDao和BarDao继承的抽象Dao类将是一个好主意:

public abstract Dao {

protected DataSource dataSource;

protected SomeHelper someHelper;

//setters

}

public class FooDao extends Dao {

private FooHelper fooHelper;

//setters

}

public class BarDao extends Dao {

private BarHelper barHelper;

//setters

}

但是dao bean不必定义一个类。当多个具体的bean具有相同的依赖性时,将抽象bean视为一种减少XML中重复的​​方法。

java的abstract的意思_java – spring中的abstract =“true”是什么意思?相关推荐

  1. java di是什么_java spring中DIP是什意思?DI的含义是什么?

    在科学技术水平不断进步发展的今时今日,各种新兴软件不断涌现,这也刺激了人们对于新技术学习的欲望.学习java的人也越来越多.今天就来为大家介绍一些基础知识,也就是java中DIP是什意思以及DI的含义 ...

  2. java 绑定微信号开发_Java开发中的常见危险信号

    java 绑定微信号开发 在开发,阅读,复审和维护成千上万行Java代码的几年中,我已经习惯于看到Java代码中的某些" 危险信号 ",这些信号通常(但可能并非总是)暗示着代码有问 ...

  3. java手工注入bean_java相关:Spring中如何动态注入Bean实例教程

    java相关:Spring中如何动态注入Bean实例教程 发布于 2020-3-8| 复制链接 摘记: 前言在Spring中提供了非常多的方式注入实例,但是由于在初始化顺序的不同,基于标注的注入方式, ...

  4. java为什么引入注解_说说Spring中为何要引入Lookup注解

    前言 我们先探一探官方文档关于Method Injection的章节是怎么说的: In most application scenarios, most beans in the container ...

  5. java io使用哪些设计模式_JAVA IO中的设计模式

    在java语言 I/O库的设计中,使用了两个结构模式,即装饰模式和适配器模式. 在任何一种计算机语言中,输入/输出都是一个很重要的部分.与一般的计算机语言相比,java将输入/输出的功能和使用范畴做了 ...

  6. java swing 控件拖动_java swing中实现拖拽功能示例

    java实现拖拽示例 Swing中实现拖拽功能,代码很简单,都有注释,自己看,运行效果如下图: package com; import java.awt.*;import java.awt.datat ...

  7. java 自定义xml_6.1 如何在spring中自定义xml标签

    dubbo自定义了很多xml标签,例如,那么这些自定义标签是怎么与spring结合起来的呢?我们先看一个简单的例子. 一 编写模型类 1 packagecom.hulk.testdubbo.model ...

  8. java 长轮询_java – Spring中的长轮询

    我们有一个独特的案例,我们需要与外部API接口,这需要我们长时间轮询他们的端点以获得他们所谓的实时事件. 问题是我们可能有多达80,000人/设备在任何给定时间点击此端点,监听事件,每个设备/人1个连 ...

  9. java 开发模式详解_Java开发中的23种设计模式详解4

    其实每个设计模式都是很重要的一种思想,看上去很熟,其实是因为我们在学到的东西中都有涉及,尽管有时我们并不知道,其实在Java本身的设计之中处处都有体现,像AWT.JDBC.集合类.IO管道或者是Web ...

最新文章

  1. 人工智能模型数据泄露的攻击与防御研究综述
  2. 显示计算机硬盘驱动器更改,笔记本硬盘驱动器的字母怎么修改?笔记本修改硬盘驱动器字母的方法...
  3. VTK:可视化算法之FlyingHeadSlice
  4. [转] Bookmarklet(书签工具)编写指南
  5. 洛谷P1157----组合数的输出
  6. MATLAB软件禁用利好,Matlab被禁用?一款国产软件站了出来说:我就是中国的Matlab...
  7. Java 9,Jigsaw,JPMS和模块:个人探索
  8. Servlet中获取请求行的数据
  9. Java 容器源码分析之Queue
  10. Web的新图像格式WebP
  11. 难以置信,MySQL也可以无损自由切换
  12. arcsinx的图_反三角函数图像大全
  13. 2007最新最强杀毒软件破解大全
  14. abb机器人编程指令goto指令_abb机器人编程指令——轨迹偏移使用的指令以及moveL指令...
  15. 1023组成最小数(20分) - 用不到20行代码破解20分的题目
  16. iOS框架引见--媒体层
  17. 计算机主机开机 风扇没有转动,电脑开机黑屏,电源风扇和CPU风扇都正常转动,但是显示器无任何显示,正常的一声滴,萤幕什么都不显示...
  18. VS Code错误 “preloads: Could not find renderer” 解决办法
  19. vue+ol实现 ol 地图加载geojson
  20. 瑞吉外卖第一篇(1):搭建环境之创建数据库

热门文章

  1. winform打开cad图纸_为什么CAD图纸打开后会显示很多问号“???”,该怎么解决...
  2. aes256 加密后的长度_视频会议Zoom 5.0版本重大更新,增强加密功能提供更多安全选项...
  3. PHP超级配置模块--PHP4,PHP5,module,cgi任你玩转--应用于Apache
  4. Ivan and Powers of Two CodeForces - 305C(set)
  5. python机器学习---1. K近邻算法
  6. android 固定比例图片裁剪插件,如何在Android中裁剪不同比例的图像?
  7. c mysql 的默认值_为mysql表字段设置默认值的方法及注意细节
  8. c语言遍历文件obt,二维电子化合物Ca2N和Y2C高压结构研究.pdf
  9. 人工智能考题可能性猜测
  10. windows系统修改cmd窗口编码格式