javascript
Spring主要用到两种设计模式
Spring主要用到兩種設(shè)計(jì)模式
?
1、工廠模式
Spring容器就是實(shí)例化和管理全部Bean的工廠。
工廠模式可以將Java對(duì)象的調(diào)用者從被調(diào)用者的實(shí)現(xiàn)邏輯中分離出來(lái)。
調(diào)用者只關(guān)心被調(diào)用者必須滿足的某種規(guī)則,這里的規(guī)則我們可以看做是接口,而不必關(guān)心實(shí)例的具體實(shí)現(xiàn)過(guò)程,具體實(shí)現(xiàn)由Bean工廠完成。
2、單例模式
???Spring默認(rèn)將所有的Bean設(shè)置為單例模式,即對(duì)所有相同的Bean請(qǐng)求,都將返回同一個(gè)共享Bean實(shí)例,這樣就可以大大減低Java對(duì)象創(chuàng)建和銷毀時(shí)的系統(tǒng)開銷。
使用Spring將Bean設(shè)置為單例模式,則無(wú)需自己完成單例模式。
?
?
實(shí)例:
Ink.Java
?
package com.pb;/** * * 項(xiàng)目名稱:PB_SpringDemo * 類名稱:Ink * 類描述: 墨盒接口 * 創(chuàng)建人:Administrator * 創(chuàng)建時(shí)間:2019年7月6日 下午3:05:06 * 修改人:Administrator * 修改時(shí)間:2019年7月6日 下午3:05:06 * 修改備注: * @version * */ public interface Ink {//獲取墨盒顏色的方法public String getColor(); }?
ColorInk.Java
package com.pb;public class ColorInk implements Ink {@Overridepublic String getColor() {return "使用彩色墨盒打印";} }GreyInk.Java
package com.pb;public class GreyInk implements Ink {@Overridepublic String getColor(){return "采用黑色墨盒打印";} }
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> <beans><bean id="color" class="com.pb.ColorInk"/><bean id="grey" class="com.pb.GreyInk"/> </beans>Test.Java
//使用Spring的方式//創(chuàng)建Spring上下文ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");//測(cè)試Spring工廠模式Ink k1=null;k1=(Ink)context.getBean("color");System.out.println(k1.getColor());Ink k2=(Ink)context.getBean("grey");System.out.println(k2.getColor());Ink k11=(Ink)context.getBean("color");//驗(yàn)證是否是單例模式System.out.println(k1==k11);//輸出 True,表示這個(gè)生成的是單例模式,同一個(gè)實(shí)例對(duì)象運(yùn)行效果
?
轉(zhuǎn)載于:https://www.cnblogs.com/schangxiang/p/11143061.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的Spring主要用到两种设计模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 刺青剧情介绍
- 下一篇: 前端有用JavaScript技巧