04 spring中bean的工厂方法
发布日期:2022-03-30 20:19:35
浏览次数:26
分类:博客文章
本文共 2397 字,大约阅读时间需要 7 分钟。
接下来我们将看一下spring中bean的相关工厂方法。
1、前提约束
- 完成spring中bean的模板继承与覆盖
2、操作步骤
2.1 静态工厂
- 确保net.wanho.entity.User.java类存在
- 在src/main/java文件夹下创建net.wanho.factory.StaticFactory.java,内容如下:
import net.wanho.entity.User;import java.util.HashMap;import java.util.Map;public class StaticFactory { static Mapmap = new HashMap<>(); static{ map.put("101",new User(1,"ali")); map.put("102",new User(2,"zhangli")); } public static User get(String id) { return map.get(id); }}
- 在src/main/resources文件夹下创建bean-factory.xml文件,内容如下:
2.2 实例工厂
- 在src/main/java文件夹下创建net.wanho.factory.StaticFactory.java,内容如下:
import net.wanho.entity.User;import java.util.HashMap;import java.util.Map;public class InstanceFactory { private Mapmap = new HashMap<>(); { map.put("101",new User(1,"ali")); map.put("102",new User(2,"xiaoli")); } public User getInstacne(String id) { return this.map.get(id); }}
- 在src/main/resources的bean-factory.xml文件中加入以下内容:
2.3 FactoryBean
- 在src/main/java文件夹下创建net.wanho.factory.UserFactoryBean.java,内容如下:
import net.wanho.entity.User;import org.springframework.beans.factory.FactoryBean;public class UserFactoryBean implements FactoryBean{ private int id; @Override public User getObject() throws Exception { return new User(id,"xiaoli"); } @Override public Class getObjectType() { return null; } @Override public boolean isSingleton() { return false; } public int getId() { return id; } public void setId(int id) { this.id = id; }}
- 在src/main/resources的bean-factory.xml文件中加入以下内容:
2.4 测试,在src/main/java文件夹下创建TestBeanFactory.java,内容如下:
import net.wanho.entity.User;import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestBeanFactory { public static void main(String[] args) { ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean-factory.xml"); //测试静态工厂 User user = applicationContext.getBean("user", User.class); System.out.println(); //测试实例工厂 User user1 = applicationContext.getBean("user1 ",User .class); //测试FactoryBean User user2 = applicationContext.getBean("user2",User.class); }}
以上就是spring中bean的工厂方法。
转载地址:https://www.cnblogs.com/alichengxuyuan/p/12554735.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月20日 22时09分08秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Unity中实现解析Json文件
2019-04-27
Unity自带Json解析库——JsonUtility
2019-04-27
Unity中使用ViedoPlayer操作视频文件
2019-04-27
JAVA Freemarker(9)---常见语法大全
2019-04-27
Java MyBatis(1)--- Generator 详解
2019-04-27
Java MyBatis(2)--- generatorConfig.xml详解与运行
2019-04-27
VueJS(5)---初步练习(5题)
2019-04-27
mysql(3)-- 修改root密码命令小结
2019-04-27
JQuery(3)--冒泡效果
2019-04-27
异常(2)-- UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/项目包名
2019-04-27
Android软键盘(1)---输入法界面管理(打开/关闭/状态获取)
2019-04-27
Android动态设置view的高度宽度
2019-04-27
css3 属性 text-overflow 实现截取多余文字内容 以省略号来代替多余内容
2019-04-27
vue 事件总线EventBus的概念、使用以及注意点
2019-04-27
JavaScript 用七种方式教你判断一个变量是否为数组类型
2019-04-27
细讲前端设置cookie, 储存用户登录信息
2019-04-27
Web前端安全策略之CSRF的攻击与防御
2019-04-27
斯坦福CS236-深度生成模型2019-全套课程资料分享
2019-04-27
知识图谱(KG)存储、可视化、公开数据集、图计算、图编程工具分享
2019-04-27