SSH筆記-Spring的靜態/例項工廠方法配置bean
靜態工廠方法配置bean
1、屬性:
class : 指向靜態工廠方法的全類名
factory-method : 指向靜態工廠方法
constructor-arg: 用來配置工廠方法需要傳入的引數值
2、使用步驟:
(1)建立靜態工廠方法類
(2)建立工廠方法
(3)在靜態工廠方法類中新增靜態程式碼塊並且初始化
(4)配置靜態工廠方法bean
(5)呼叫bean
3、注意事項:配置Info類的bean例項,不是配置靜態工廠方法StaticFactoryMethod類的例項
4、作用:
呼叫靜態工廠方法建立Bean是將物件建立的過程封裝到靜態方法中,當客戶端需要物件時, 只需要簡單地呼叫靜態方法, 而不同關心建立物件的細節
例項工廠方法配置bean
1、屬性:
factory-bean : 指向實體工廠方法的bean
factory-method : 指向實體工廠方法的名字
constructor-arg : 用來配置工廠方法需要傳入的引數值
2、使用步驟:
(1)建立例項工廠類
(2)建立例項工廠方法
(3)通過建構函式初始化
(4)配置例項工廠例項
(5)通過例項工廠方法配置bean
(6)呼叫bean
3、作用:
將物件的建立過程封裝到另外一個物件例項的方法裡. 當客戶端需要請求物件時, 只需要簡單的呼叫該例項方法而不需要關心物件的建立細節
1、檔案
①TestFactoryMethod.java:測試類
②Info.java:資料模型
③StaticFactoryMethod.java:靜態工廠方法類
④InstanceFactoryMethod.java:例項工廠方法類
⑤factoryMethodContext.xml:配置檔案
2、TestFactoryMethod.java
package com.demo.sshtest.factorymethod;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestFactoryMethod {
public static void main(String[] args) {
staticFactoryMethod();
}
public static void staticFactoryMethod(){
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("factoryMethodContext.xml");
Info info = (Info)applicationContext.getBean("staticinfos");
System.out.println(info);
Info info2 = (Info)applicationContext.getBean("infos");
System.out.println(info2);
}
}
3、Info.java
package com.demo.sshtest.factorymethod;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestFactoryMethod {
public static void main(String[] args) {
staticFactoryMethod();
}
public static void staticFactoryMethod(){
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("factoryMethodContext.xml");
Info info = (Info)applicationContext.getBean("staticinfos");
System.out.println(info);
Info info2 = (Info)applicationContext.getBean("infos");
System.out.println(info2);
}
}
4、StaticFactoryMethod.java
package com.demo.sshtest.factorymethod;
import java.util.HashMap;
import java.util.Map;
public class StaticFactoryMethod {
//靜態工廠方法:直接呼叫某一個雷的靜態方法返回bean例項
private static Map<String,Info>infos = new HashMap<String,Info>();
static{
infos.put("info1", new Info(1,"Info1"));
infos.put("info2", new Info(2,"Info2"));
}
public static Info getInfos(String key) {
return infos.get(key);
}
}
5、InstanceFactoryMethod.java
package com.demo.sshtest.factorymethod;
import java.util.HashMap;
import java.util.Map;
public class InstanceFactoryMethod {
//例項工廠方法:例項工廠的方法,即先要建立工廠,再呼叫工廠例項方法getInfo()來返回bean例項
private Map<String, Info>infoMap = null;
public InstanceFactoryMethod(){
infoMap = new HashMap<String,Info>();
infoMap.put("info1", new Info(1,"info1"));
infoMap.put("info2", new Info(2,"info2"));
}
public Info getInfo(String key){
return infoMap.get(key);
}
}
6、factoryMethodContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 靜態工廠方法配置bean -->
<!--
1、屬性:
class : 指向靜態工廠方法的全類名
factory-method : 指向靜態工廠方法
constructor-arg: 用來配置工廠方法需要傳入的引數值
2、使用步驟:
(1)建立靜態工廠方法類
(2)建立工廠方法
(3)在靜態工廠方法類中新增靜態程式碼塊並且初始化
(4)配置靜態工廠方法bean
(5)呼叫bean
3、注意事項:配置Info類的bean例項,不是配置靜態工廠方法StaticFactoryMethod類的例項
-->
<bean id="staticinfos" class="com.demo.sshtest.factorymethod.StaticFactoryMethod" factory-method="getInfos">
<constructor-arg value="info2"></constructor-arg>
</bean>
<!-- 例項工廠方法配置bean -->
<!--
1、屬性:
factory-bean : 指向實體工廠方法的bean
factory-method : 指向實體工廠方法的名字
constructor-arg : 用來配置工廠方法需要傳入的引數值
2、使用步驟:
(1)建立例項工廠類
(2)建立例項工廠方法
(3)通過建構函式初始化
(4)配置例項工廠例項
(5)通過例項工廠方法配置bean
(6)呼叫bean
-->
<!-- 通過工廠例項 -->
<bean id="instanceinfos" class="com.demo.sshtest.factorymethod.InstanceFactoryMethod"></bean>
<!-- 通過例項工廠方法配置bean -->
<bean id="infos" factory-bean="instanceinfos" factory-method="getInfo">
<constructor-arg value="info1"></constructor-arg>
</bean>
</beans>
7、專案目錄
相關推薦
SSH筆記-Spring的靜態/例項工廠方法配置bean
靜態工廠方法配置bean 1、屬性: class : 指向靜態工廠方法的全類名 factory-method : 指向靜態工廠方法 constructor-arg: 用來配置工廠方法需要傳入的引數值 2、使用步
Spring 靜態工廠方法及例項工廠方法配置bean
通過呼叫靜態工廠方法建立Bean呼叫靜態工廠方法建立Bean是將物件建立的過程封裝到靜態方法中。當客戶端需要物件時,只需要簡單地呼叫靜態方法,而不關心建立物件的細節。要宣告通過靜態方法建立的Bean,需要在Bean的class屬性裡指定擁有該工廠的方法的類,同時在factor
Spring——靜態工廠方法、例項工廠方法建立 Bean ?
一、通過呼叫靜態工廠方法建立 bean: 利用靜態工廠方法可以把bean注入到IOC容器中。在XML檔案中配置bean時,要指定class的屬性為工廠的類;factory-method屬性指定工廠類中工廠方法,用於建立bean;constrctor-arg用於給工廠方法傳遞
Spring通過工廠方法配置Bean
前言: Spring配置Bean的方法有很多,這裡只介紹通過工廠方法配置Bean。 所謂工廠即含有批量的Bean,可根據傳入的引數條件返回對應的Bean例項。 工廠又分兩種: 靜態工廠通過靜態方
spring通過例項工廠方法來建立Bean
一:例項工廠方法 1.將物件的建立過程封裝到另外一個物件例項的方法裡,當客戶端需要請求物件時,只需要簡單的呼叫該例項方法而不需要關係建立物件的細節。 2.要宣告通過例項工廠方法建立的Bean 在bean的factory-bean屬性裡指定擁有該工廠方法的bean
Spring入門學習(工廠方法配置Bean) 第十節
Spring入門學習(工廠方法配置Bean) 配置Bean的形式 Bean的配置方式 靜態工廠方法 例項工廠方法 配置Bean的形式 基於XML檔案的方式 基於註解的方式 Bean的
靜態工廠方法和例項工廠方法注入bean
一、靜態工廠方法注入bean 利用靜態工廠方法可以把bean注入到IOC容器中。在XML檔案中配置bean時,要指定class的屬性為工廠的類;factory-method屬性指定工廠類中工廠方法,用於建立bean;constrctor-arg用於給工廠方法傳
工廠方法配置bean
const @override shm ack getc ring 工廠 null ati 1:靜態工廠方法配置bean 1):對象 package com.spring.helloworld; public class Car { private String
spring_(11)通過工廠方法配置Bean
通過呼叫靜態工廠方法建立Bean 呼叫靜態工廠方法建立Bean是將物件建立的過程封裝到靜態方法中.當客戶端需要物件時,只需要簡單地呼叫靜態方法,而不必關心建立物件的細節 要宣告通過靜態方法建立的Bean,需要在Bean的class屬性裡指定擁有該工廠的方法的類,同時在fac
4.spriing:Bean的生命週期/工廠方法配置Bean/FactoryBean
1.Bean的生命週期 scope:singleton/prototype 1)spring容器管理singleton作用的生命週期,spring能夠精確知道Bean合適建立,何時初始化完成,以及何時被銷燬 2)spring容器管理prototype作用的生命週期,spring只
4.spriing:Bean的生命周期/工廠方法配置Bean/FactoryBean
nts als 函數 new 利用 容器 客戶端 over The 1.Bean的生命周期 scope:singleton/prototype 1)spring容器管理singleton作用的生命周期,spring能夠精確知道Bean合適創建,何時初始化完成,以及何時被
Spring 學習(十)——通過工廠方法(靜態工廠方法 & 例項工廠方法)配置 bean
通過呼叫靜態工廠方法建立 Bean •呼叫靜態工廠方法建立 Bean是將物件建立的過程封裝到靜態方法中. 當客戶端需要物件時, 只需要簡單地呼叫靜態方法, 而不同關心建立物件的細節. •要宣告通過靜態方法建立的 Bean, 需要在 Bean 的 class 屬性裡指定擁有該
spring靜態或例項工廠方法
靜態 constructor-arg傳引數 <bean id="datasourceFactory" class="com.ctrip.datasource.locator.DataSourceLocator" factory-method="newInstance"/>
先碼後看 spring配置bean的幾種方式:xml直接配置、靜態工廠、例項工廠、factory bean、註解 侵立刪
轉自:http://blog.csdn.net/love___code/article/details/53167138 spring框架的核心在於“Ioc控制反轉”“DI依賴注入”以及“AOP面向切面程式設計”,所以在實現這些核心是最基礎的一步即為在ioc容器中配置b
Spring工廠方法(factory-bean)配置bean Spring工廠方法(factory-bean)配置bean
Spring工廠方法(factory-bean)配置bean 在spring的世界中, 我們通常會利用bean config file 或者 annotation註解方式來配置bean. 在第一種利用bean config file(spring xml)方式中,
spring通過呼叫靜態工廠方法建立Bean
一:靜態工廠方法 1.呼叫靜態工廠方法建立Bean是將物件建立Bean的建立過程封裝到靜態方法中,當客戶端需要物件時,只需要簡單的呼叫靜態方法,而不關心建立物件的細節。 2.要宣告通過靜態方法建立的Bean,需要在Bean的class屬性裡指定擁有該工廠方法的類,同時在factory-met
Spring例項化Bean的三種方式_例項工廠方法
第一步:Bean3實體 public class Bean3 { } 第二步:工廠 public class Bean3Factory { public Bean3 createBean3(){ return new Bean3();
Spring學習記錄--factory-method 靜態工廠方法注入bean
例項專案結構 我們編寫好兩個類,要求是其中一個類的屬性是另一個類。例項是阿中包含使用者。 A.java package com.dybeq.pojo; /** * @author Dybe
實例/靜態工廠方法得到bean
create spa tor bean .config return col pan creat <bean id="a" class="com.yundaex.wms.config.TestBeanChild" /> <bean id="b
spring框架中工廠方法的建立和銷燬
1.編寫介面UserSerivce: public interface UserService { public void sayHello(); } 2.編寫實實現介面的方法,在該方法中除了要實現介面中的方法,還定義了inti和destory方法: public class