依赖注入的三种方式_Java核心知识 Spring原理十 Spring 依赖注入四种方式
构造器注入
/*带参数,方便利用构造器进行注入*/
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">
依赖注入的三种方式_Java核心知识 Spring原理十 Spring 依赖注入四种方式相关推荐
- java配置文件实现方式_java相关:详解Spring加载Properties配置文件的四种方式
java相关:详解Spring加载Properties配置文件的四种方式 发布于 2020-4-29| 复制链接 摘记: 一.通过 context:property-placeholder 标签实现配 ...
- spring加载ApplicationContext.xml的四种方式
spring加载ApplicationContext.xml的四种方式 spring 中加载xml配置文件的方式,好像有4种, xml是最常见的spring 应用系统配置源.Spring中的几种容器都 ...
- 用spring管理和实例化对象的四种方式
用spring管理和实例化对象的四种方式 方式一:无参构造函数(最常用) 对象是spring创建,创建的对象还要交给spring容器管理 bean:豆子 id:在spring容器中Hello对象的名, ...
- js之删除对象属性的三种方法 判断对象中是否有某一属性的四种方法
js之删除对象属性的三种方法 & 判断对象中是否有某一属性的四种方法 示例 1.基础版 var a = { id: 18, age: 20, name: "zhangsan" ...
- java并发核心知识体系精讲_JAVA核心知识汇总
双非同学如何逆袭大厂? 在互联网行业,入行的第一份工作很大程度上决定了以后职业发展的高度.有些双非的同学认为自己校招进不了大厂以后还会有社招,这种想法很危险.大厂的社招,大多数都只招大厂的员工.什么意 ...
- Spring中配置Hibernate事务的四种方式
2019独角兽企业重金招聘Python工程师标准>>> 为了保证数据的一致性,在编程的时候往往需要引入事务这个概念.事务有4个特性:原子性.一致性.隔离性.持久性. 事务的种类有两种 ...
- python接口自动化(十)--post请求四种传送正文方式(详解)
简介 post请求我在python接口自动化(八)–发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先了 ...
- spring(转账为例)四种实现方式一
Spring事务管理的四种方式(以银行转账为例) 一.事务的作用 将若干的数据库操作作为一个整体控制,一起成功或一起失败. 原子性:指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生 ...
- java对象什么时候回收_Java对象的生命周期与垃圾回收以及四种引用
创建对象的方式用new语句创建对象. 使用反射,调用java.lang.Class或java.lang.reflect.Constructor的newInstance()实例方法. 调用对象的clon ...
最新文章
- 【MFC】工具栏按钮追加显示文本
- oracle oemrpt数据库显现
- 经验 | 一目了然,用动图展示 10 大 Git 命令
- 天梯赛L2-014 列车调度(set和简单贪心)
- 去掉CSDN blog 多余的版权申明部分[转贴]
- 纯CSS实现鼠标滑过缩略图放大显示代码
- LCD1602字符串显示(STM32F103)
- 数据库敏感数据加密技术
- 盘古开源:汽车芯片短缺怎样缓解?工信部回应热点问题
- Mac录屏想只要电脑内置的声音
- 深度学习技术系列(1):Mosaic Model — 不良图片检测开源模型
- html5 history微信浏览器返回不刷新
- dirname $0
- 使用HttpClient下载网页
- 如何实现业务+项目一体化管理?
- 什么软件能在线支持视频配音文字转语音?
- WPS2019下载地址/网盘下载
- 计算机二级选择题有几题上机呢,计算机二级考试的题型有哪些
- 在字节跳动工作是一种什么样的体验?
- 涿州计算机二级培训,涿州职教中心计机专业高考班人才培养方案.doc
热门文章
- PyCharm 设置背景图片
- linux代码_Sonar代码走查的配置(linux)
- css布局方式_收藏!40 个 CSS 布局技巧
- batchnorm and relu_日本AND荷重传感器
- 西安工程大学计算机科学学院刘宝宝,计算机科学学院召开研究生国家奖学金答辩会...
- ARIMA模型之疏系数模型
- 整数线性规划实现(lingo,python分枝界定法)
- 数学建模学习笔记(十二)——奇异值分解
- Linux命令 umask,chmod使用
- 关于Django中的数据库操作API之distinct去重的一个误传