Spring学习笔记4
静态工厂方法:
Phone.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
package com.firefly.spring.beans.factory;
public class Phone {
private String name;
private int price;
public Phone(String name) {
super ();
this .name = name;
}
public Phone(String name, int price) {
super ();
this .name = name;
this .price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this .name = name;
}
public int getPrice() {
return price;
}
public void setPrice( int price) {
this .price = price;
}
}
|
StaticPhoneFactory.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package com.firefly.spring.beans.factory;
import java.util.HashMap;
import java.util.Map;
public class StaticPhoneFactroy {
private static Map<String,Phone> phone = new HashMap<String,Phone>();
static {
phone.put( "iphone" , new Phone( "iphone" , 5000 ));
phone.put( "xiaomi" , new Phone( "xiaomi" , 2000 ));
}
public static Phone getPhone(String name){
return phone.get(name);
}
}
|
bean配置:
1
2
3
4
|
<bean id= "phone1" class = "com.firefly.spring.beans.factory.StaticPhoneFactroy"
factory-method= "getPhone" >
<constructor-arg value= "iphone" ></constructor-arg>
</bean>
|
factory-method来指定工厂方法,constructor-arg来给工厂方法赋值。
以上静态工厂方法工作流程:在一个静态工厂类中先静态的配置好实例,并用map封装起来,在真正用bean创建实例的时候是以名字为钥匙找到对应的实例,用以创建对象;
还有对应的动态工厂方法,只是它不用static修饰,在调用的时候才配置实例,原理与静态工厂相似。
注解配置方法:~~
转载于:https://my.oschina.net/u/2488249/blog/519994
Spring学习笔记4相关推荐
- 【Spring学习笔记-MVC-13.2】Spring MVC之多文件上传
作者:ssslinppp 1. 摘要 前篇文章讲解了单文件上传<[Spring学习笔记-MVC-13]Spring MVC之文件上传>http://www.cnblogs.co ...
- Spring学习笔记(三) AOP_annotation,AOP_XML
在学习课程以前,听说AOP有种很神秘的感觉,好像很好深的技术.其实原理很简单,使用动态代理的方式给程序增加逻辑.与此相似的有struts2中的filter拦截器. 再讲AOP之前先把需求说一下: 同S ...
- spring学习笔记06-spring整合junit(出现的问题,解决的思路)
spring学习笔记06-spring整合junit(出现的问题,解决的思路) 文章目录 spring学习笔记06-spring整合junit(出现的问题,解决的思路) 3.1测试类中的问题和解决思路 ...
- spring学习笔记01-BeanFactory和ApplicationContext的区别
spring学习笔记01-BeanFactory和ApplicationContext的区别 BeanFactory 和 ApplicationContext 的区别 BeanFa ...
- spring学习笔记02-spring-bean创建的细节问题
spring学习笔记02-spring-bean创建的细节问题 三种创建Bean对象的方式 Bean的作用范围 Bean的生命周期 <?xml version="1.0" e ...
- spring学习笔记03-spring-DI-依赖注入详解(通过xml配置文件来配置依赖注入)
spring学习笔记03-spring-DI-依赖注入详解 1.概念 2.构造函数注入 3.set方法注入 4.集合的注入 需要被注入的实体对象 package com.itheima.service ...
- Spring学习笔记:配置单数据源
Spring学习笔记:配置单数据源 一.Spring Boot默认数据源类型 Springboot默认支持4种数据源类型,定义在 org.springframework.boot.autoconfig ...
- Spring学习笔记:第一个Spring Boot程序HelloWorld
Spring学习笔记:第一个Spring Boot程序HelloWorld 一.跟着 Spring 了解技术趋势 1.看看 Spring 5.x 的改变暗示了什么 2.Spring Boot 和 Sp ...
- Spring学习笔记之MyBatis
系列文章目录 Spring学习笔记 之 Springhttps://blog.csdn.net/weixin_43985478/article/details/124411746?spm=1001.2 ...
- 【Spring学习笔记 九】Spring声明式事务管理实现机制
什么是事务?事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用,关乎数据准确性的地方我们一定要用到事务,防止业务逻辑出错. 什么是事务管理,事务管理对于企业应用而言至 ...
最新文章
- 神经网络为什么需要多次epoch
- 013_SpringBoot视图层技术thymeleaf-迭代遍历
- UITableView的UITableViewStyleGrouped
- 求计算两个时间的差(DateTime类和TimeSpan类)
- sql 异常除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。...
- 理解苏宁:互联网转型之战
- CruiseControl服务器安装配置
- html数据透视,Excel数据透视表使用过程中常见问题 如何在excel数据透视表中使用函数公式...
- nginx 加上ssl配置
- java小项目之:象棋,羡慕你们有对象的!
- web、ftp上传区别
- Zookeeper选举机制
- MySql导入、导出数据解决方案(SQL语句)
- 2023微信手机号筛选器,快速检测出开通微信的号码,检测国外号码过滤微信状态,判断qq是否开通微信软件
- 学习CALCULATE函数(一)修订版
- SCI-HUB的前世今生以及其他下载论文文献的方法
- Android中的Activity
- UDT 最新源码分析(五) -- 网络数据收发
- 读书有益——》关于雪下很大的成语
- 宝塔面板子目录伪静态设置
热门文章
- StataIC——短面板数据分析(以检验啤酒税将降低交通死亡率的假说为例)
- 通用oa系统_点晴:免费OA系统V20,让协同办公无处不在
- linux环境下pytesseract的安装和央行征信中心的登录验证码识别
- 查询央行征信的APP有哪些?
- python系统函数详解
- 解决Ubuntu远程连接mysql连不上的问题
- Linux audit详解
- Adobe Camera Raw使用方法
- QInputDialog,QTextEdit,QLineEdit,Qt右键菜单英文转中文问题
- 宝塔 php守护 1.2,宝塔面板的Supervisor (进程管理利器) 使用说明 – 附Nginx守护教程...