欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Spring主要用到两种设计模式

程序员文章站 2023-10-20 15:40:07
Spring主要用到两种设计模式 1、工厂模式 Spring容器就是实例化和管理全部Bean的工厂。 工厂模式可以将Java对象的调用者从被调用者的实现逻辑中分离出来。 调用者只关心被调用者必须满足的某种规则,这里的规则我们可以看做是接口,而不必关心实例的具体实现过程,具体实现由Bean工厂完成。 ......

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,表示这个生成的是单例模式,同一个实例对象

  运行效果

Spring主要用到两种设计模式