依赖注入的三种方式_Java核心知识 Spring原理十 Spring 依赖注入四种方式

9b5ab9882d2abd388f4a83fc94e56f43.png

构造器注入

/*带参数,方便利用构造器进行注入*/

public CatDaoImpl(String message){

this. message = message;

}

setter 方法注入

public class Id {

private int id;

public int getId() { return id; }

public void setId(int id) { this.id = id; }

}

静态工厂注入

静态工厂顾名思义,就是通过调用静态工厂的方法来获取自己需要的对象,为了让 spring 管理所

有对象,我们不能直接通过"工程类.静态方法()"来获取对象,而是依然通过 spring 注入的形式获

取:

public class DaoFactory { //静态工厂

public static final FactoryDao getStaticFactoryDaoImpl(){

return new StaticFacotryDaoImpl();

}

}

public class SpringAction {

private FactoryDao staticFactoryDao; //注入对象

//注入对象的 set 方法

public void setStaticFactoryDao(FactoryDao staticFactoryDao) {

this.staticFactoryDao = staticFactoryDao;

}

}

//factory-method="getStaticFactoryDaoImpl"指定调用哪个工厂方法

factory-method="getStaticFactoryDaoImpl">

实例工厂

实例工厂的意思是获取对象实例的方法不是静态的,所以你需要首先 new 工厂类,再调用普通的

实例方法:

public class DaoFactory { //实例工厂

public FactoryDao getFactoryDaoImpl(){

return new FactoryDaoImpl();

}

}

public class SpringAction {

private FactoryDao factoryDao;

//注入对象

public void setFactoryDao(FactoryDao factoryDao) {

this.factoryDao = factoryDao;

}

}

factory-method="getFactoryDaoImpl">

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575110.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

闪退没由报错_关于floor()报错注入,你真的懂了吗?

0x01 简述floor报错注入也有叫group报错注入的,都一样,指的都是他们。floor报错注入我想大多数人跟我一样,都是会用而不明白其中的原理。这个问题困扰了在下好长时间了,所以决定好好研究下,最终产出了这篇文章。0x02 环…

Photoshop(CC2020)未完

基础知识: 概括: Adobe Photoshop,简称PS,是由美国Adobe Systems开发和发行的图像处理软件。属于再加工型软件,是对很多素材的再次加工处理,并非原创型软件。 功能:Photoshop主要处理以像素构成的位图图像…

使用 做签名的post_基础实操|使用jmeter对聊天软件进行接口测试

前言准备上架一款聊天app,上架之前准备做一些测试工作,模拟用户进入房间,维持心跳,房间送礼,发言等行为(因为用的第三方im以及声网,这些都是基于http的),也不是很懂测试,听老大说过一…

MySQL中主键的选择与磁盘性能

偶然看到了“Fotolog: Scaling the World\s Largest Photo Blogging Community”,才发现很多数据库的优化其实道理都很简单,至高境界是当你面对问题时,是否真正做出了自己的思考,而不仅仅只是经验主义的惯性使然:本文案…

matlab畸变校正代码_关于OpenCV中的去畸变

在opencv中,有关图像或像素点(角点)去畸变的函数有cv::undistort(),cv::getOptimalNewCameraMatrix(),cv::initUndistortRectifyMap(),remap(),cv::undistortPoints()。其中undistort可以直接对…

redis数据库简介、redis下载及安装(win64位)、node操作redis、redis实现短信校验注册接口

redis简介: 1:内存数据库,同时也能够保存数据到磁盘; 2:比其他的内存数据库有着更多的数据类型: 列表,集合,排序集合,哈希表等; 3:主从结构:数据可以备份到从服务器; 4: Redis数据操作速度快; 5:所有的操作都是原…

go func()和 go_Go的泛型真的要来了—如何使用以及它们是怎么工作的

点击上方蓝色“Go语言中文网”关注我们,领全套Go资料,每天学习 Go 语言你没看错,这里讲的就是 Go 中的泛型。只不过还没有正式发布,是基于草案设计的,已经是实现了可运行的版本。所以,泛型到来真的不远了&a…

bios设置_bios怎么设置显存 bios设置显存教程【图文】

有些用户可能会发现打开电脑系统信息窗口显示的内存容量与实际容量不同,例如系统内存显示4G,可用3.73G。那么不可用的那部分内存到哪里去了呢?其实是被集成显卡占用当做显存使用了。下面我们就通过 bios设置显存 来调整占用内存容量的大小,我…

4变形物体_Houdini基础(二)曲线变形物体

设想:先从二维上来看直角坐标系。物体是由x,y两个轴向的数据组成的。少了其中一组数据物体就只能是分布在单一轴向上的点。单独保留物体x、y情况下的点分布情况现在将x、y加起来,可见在三维空间中形成了一个平面。仅有x、y坐标的物体从目前的…

mybatis 映射成多个list_SSM:Mybatis架构与原理

MyBatis功能架构设计功能架构讲解:我们把Mybatis的功能架构分为三层:API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。数据处理层&…

10无法勾选隐藏的项目_Excel超好用的隐藏操作,不可多得

日常工作中,表格数据的展示与隐藏也是有大学问的,为了表格更加简洁明了、美观大气,实用的隐藏技巧就派上用场了。且听小翼慢慢分享~1、隐藏行列方法1:选中目标区域,右击鼠标选择“隐藏”即可。如图:方法2&a…

HTML5简略介绍

今天要说下 HTML5特有的一个元素 canvas ,旨在让web页面上作矢量图不需要在依靠flash或是其他插件,在网页上使用canvas元素时,它会创建一块矩形区域,默认300*150,当然也是可以自定义的。Canvas中的坐标是从左上角开始的…

我的世界java和基岩版哪个好玩_我的世界:Java版本好玩还是基岩版好玩?老玩家看完后沉默了...

MC刚开始是在国外风靡了起来,传到中国的时候MC已经火了很久了,这时候外国已经出现了很多玩MC十分厉害的大神和主播,而在国外也有超多的服务器,其中有号称最强的原版生存服务器Scicraft,而在版本方面MC其实算下来大概有…

SQL Server简介

SQL Server是微软的一款关系型数据库。某些平台吹得天花烂坠,今天第一次在自己的项目中使用了下,感觉不是那么好,特别是SQL语句的支持度还是很欠缺,如limit等都不支持,还有特别单双引号都是需要特别注意的,下面是SQL S…

Windows下断言的类型及实现

一、内容综述 本文主要介绍Windows下断言assert的实现,并总结断言的不同应用准则。最后给出一个windows自定义断言的方法。 本文行文参考《Debugging Windows Programs》第三章相关内容,如果有兴趣的话建议读者可以深入阅读下。 二、断言的类型 1. ANSI…

linux右上角不显示网络连接_来体验下Linux吧

在前面的几期中我们从树莓派开始了解Linux,大家可能已经想来试一下手了。趁热打铁,本期我将介绍两种方便体验学习Linux的方法,在线体验或者安装虚拟机。1 在线体验Linux如果想快速的体验下Linux系统,我们可以选择云计算服务商提供…

python md5解密_python 生成文件MD5码

pymd5.py的代码如下: #-*-coding:utf-8-*-Created on 2012-5-25 author: kanpiaoxueimport hashlib import os import sys def printUsage(): print (Usage: [python] pymd5.py ) def createMD5(filePath): if not os.path.isfile(filePath): printUsage() else: tm…

Java数据结构、list集合、ArrayList集合、LinkedList集合、Vector集合

数据结构: 数据存储的常用结构有:栈、队列、数组、链表、红黑树。 栈:stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操…

第11章 GUI Page436 使用缓冲DC, wxBufferedPaintDC

所谓“缓冲DC”,是指将所有图元都先划到一个人眼看不到的“设备上下文”之上,最后再一次性复制到真正的屏幕DC之上,这样我们就看不到中间画的过程了,也就不会感到闪烁了。 注意,这时不能解除ScrolledWindow1的背景擦除…

Tomcat+JSP经典配置实例

经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助。    一、开发环境配置    第一步:下载j2sdk和tomcat:到sun官方站&#xf…