Spring主要用到两种设计模式

2019-08-16 09:52:25来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Spring主要用到两种设计模式

Spring主要用到两种设计模式

 

1、工厂模式

Spring容器就是实例化和管理全部Bean的工厂。

工厂模式可以将Java对象的调用者从被调用者的实现逻辑中分离出来。

调用者只关心被调用者必须满足的某种规则,这里的规则我们可以看做是接口,而不必关心实例的具体实现过程,具体实现由Bean工厂完成。

2、单例模式

   Spring默认将所有的Bean设置为单例模式,即对所有相同的Bean请求,都将返回同一个共享Bean实例,这样就可以大大减低Java对象创建和销毁时的系统开销。

使用SpringBean设置为单例模式,则无需自己完成单例模式。

 

 

实例:

Ink.Java

 

package com.pb;


/**   
*    
* 项目名称:PB_SpringDemo   
* 类名称:Ink   
* 类描述:   墨盒接口
* 创建人:Administrator   
* 创建时间:2019年7月6日 下午3:05:06   
* 修改人:Administrator   
* 修改时间:2019年7月6日 下午3:05:06   
* 修改备注:   
* @version    
*    
*/
public interface Ink {
	//获取墨盒颜色的方法
	public String getColor();
}

 

  

ColorInk.Java

package com.pb;

public class ColorInk implements Ink {
	@Override
   public String getColor() {
	   return "使用彩色墨盒打印";
   }
}

GreyInk.Java

package com.pb;

public class GreyInk implements Ink {
  @Override
  public 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的方式
		//创建Spring上下文
		ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
		
		//测试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");//验证是否是单例模式
		System.out.println(k1==k11);//输出 True,表示这个生成的是单例模式,同一个实例对象

  运行效果

 


原文链接:https://www.cnblogs.com/schangxiang/p/11143061.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:使用JDBC,完成数据库批量添加数据操作:

下一篇:java设计模式--抽象工厂模式