最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring實(shí)戰(zhàn)之調(diào)用實(shí)例工廠方法創(chuàng)建Bean操作示例

 更新時(shí)間:2019年11月21日 11:29:01   作者:cakincqm  
這篇文章主要介紹了Spring實(shí)戰(zhàn)之調(diào)用實(shí)例工廠方法創(chuàng)建Bean操作,結(jié)合實(shí)例形式分析了實(shí)例工廠方法創(chuàng)建Bean相關(guān)配置、實(shí)現(xiàn)方法及操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Spring實(shí)戰(zhàn)之調(diào)用實(shí)例工廠方法創(chuàng)建Bean操作。分享給大家供大家參考,具體如下:

一 配置

<?xml version="1.0" encoding="GBK"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://www.springframework.org/schema/beans"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
   <!-- 配置工廠Bean,該Bean負(fù)責(zé)產(chǎn)生其他Bean實(shí)例 -->
   <bean id="personFactory" class="org.crazyit.app.factory.PersonFactory"/>
   <!-- 下面配置驅(qū)動(dòng)Spring調(diào)用personFactory Bean的getPerson()方法來創(chuàng)建Bean
   該bean元素包含的constructor-arg元素用于為工廠方法指定參數(shù),
   因此這段配置會(huì)驅(qū)動(dòng)Spring以反射方式來執(zhí)行如下代碼:
   PersonFactory pf = container.get("personFactory"); // container代表Spring容器
   chinese = pf.getPerson("chin"); -->
   <bean id="chinese" factory-bean="personFactory"
      factory-method="getPerson">
      <!-- 配置實(shí)例工廠方法的參數(shù) -->
      <constructor-arg value="chin"/>
   </bean>
   <!-- 下面配置會(huì)驅(qū)動(dòng)Spring以反射方式來執(zhí)行如下代碼:
   PersonFactory pf = container.get("personFactory"); // container代表Spring容器
   american = pf.getPerson("ame"); -->
   <bean id="american" factory-bean="personFactory"
      factory-method="getPerson">
      <constructor-arg value="ame"/>
   </bean>
</beans>

二 接口

Person

package org.crazyit.app.service;
public interface Person
{
   // 定義一個(gè)打招呼的方法
   public String sayHello(String name);
   // 定義一個(gè)告別的方法
   public String sayGoodBye(String name);
}

三 實(shí)現(xiàn)類

American

public class American implements Person
{
   // 實(shí)現(xiàn)Person接口必須實(shí)現(xiàn)如下兩個(gè)方法
   public String sayHello(String name)
   {
      return name + ",Hello!";
   }
   public String sayGoodBye(String name)
   {
      return name + ",Good Bye!";
   }
}

Chinese

package org.crazyit.app.service.impl;
import org.crazyit.app.service.*;
public class Chinese implements Person
{
   // 實(shí)現(xiàn)Person接口必須實(shí)現(xiàn)如下兩個(gè)方法
   public String sayHello(String name)
   {
      return name + ",您好";
   }
   public String sayGoodBye(String name)
   {
      return name + ",下次再見";
   }
}

四 工廠類

package org.crazyit.app.factory;
import org.crazyit.app.service.*;
import org.crazyit.app.service.impl.*;
public class PersonFactory
{
  // 獲得Person實(shí)例的實(shí)例工廠方法
  // ethnic參數(shù)決定返回哪個(gè)Person實(shí)現(xiàn)類的實(shí)例
  public Person getPerson(String ethnic)
  {
    if (ethnic.equalsIgnoreCase("chin"))
    {
      return new Chinese();
    }
    else
    {
      return new American();
    }
  }
}

五 測試類

package lee;
import org.springframework.context.*;
import org.springframework.context.support.*;
import org.crazyit.app.service.*;
public class SpringTest
{
  public static void main(String[] args)
  {
    ApplicationContext ctx = new
      ClassPathXmlApplicationContext("beans.xml");
    Person p1 = ctx.getBean("chinese"
      , Person.class);
    System.out.println(p1.sayHello("Mary"));
    System.out.println(p1.sayGoodBye("Mary"));
    Person p2 = ctx.getBean("american"
      , Person.class);
    System.out.println(p2.sayHello("Jack"));
    System.out.println(p2.sayGoodBye("Jack"));
  }
}

六 測試

Mary,您好
Mary,下次再見
Jack,Hello!
Jack,Good Bye!

更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Spring框架入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Spring 自動(dòng)裝配的二義性實(shí)例解析

    Spring 自動(dòng)裝配的二義性實(shí)例解析

    這篇文章主要介紹了Spring 自動(dòng)裝配的二義性實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • MyBatis-Plus中的邏輯刪除使用詳解

    MyBatis-Plus中的邏輯刪除使用詳解

    開發(fā)系統(tǒng)時(shí),有時(shí)候在實(shí)現(xiàn)功能時(shí),刪除操作需要實(shí)現(xiàn)邏輯刪除就是將數(shù)據(jù)標(biāo)記為刪除,而并非真的物理刪除(非DELETE操作),查詢時(shí)需要攜帶狀態(tài)條件,確保被標(biāo)記的數(shù)據(jù)不被查詢到。這樣做的目的就是避免數(shù)據(jù)被真正的刪除
    2022-12-12
  • java操作excel導(dǎo)入導(dǎo)出的3種方式

    java操作excel導(dǎo)入導(dǎo)出的3種方式

    項(xiàng)目需要,要實(shí)現(xiàn)一個(gè)導(dǎo)入導(dǎo)出excel的功能,于是任務(wù)驅(qū)動(dòng)著我學(xué)習(xí)到了POI、easypoi和easyexcel這3個(gè)java操作Excel的工具,下面這篇文章主要給大家介紹了關(guān)于java操作excel導(dǎo)入導(dǎo)出的3種方式,需要的朋友可以參考下
    2023-05-05
  • oracle+mybatis-plus+springboot實(shí)現(xiàn)分頁查詢的實(shí)例

    oracle+mybatis-plus+springboot實(shí)現(xiàn)分頁查詢的實(shí)例

    本文主要介紹了oracle+mybatis-plus+springboot實(shí)現(xiàn)分頁查詢,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • SpringBoot項(xiàng)目接入MQTT的詳細(xì)指南

    SpringBoot項(xiàng)目接入MQTT的詳細(xì)指南

    MQTT是一種輕量級(jí)的消息傳輸協(xié)議,特別適用于物聯(lián)網(wǎng)(IoT)場景,具有低帶寬、高延遲網(wǎng)絡(luò)環(huán)境下的優(yōu)勢,SpringBoot作為流行的 Java開發(fā)框架,能夠方便地與MQTT集成,實(shí)現(xiàn)高效的消息通信,本文將詳細(xì)介紹如何在SpringBoot項(xiàng)目中接入MQTT,需要的朋友可以參考下
    2025-03-03
  • SpringBoot DevTools之開發(fā)工具與熱部署機(jī)制詳解

    SpringBoot DevTools之開發(fā)工具與熱部署機(jī)制詳解

    本文將深入探討Spring Boot DevTools的核心功能、配置方法以及最佳實(shí)踐,幫助開發(fā)者顯著提升開發(fā)效率,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • spring cloud中啟動(dòng)Eureka Server的方法

    spring cloud中啟動(dòng)Eureka Server的方法

    本篇文章主要介紹了spring cloud中啟動(dòng)Eureka Server的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-01-01
  • spring?boot使用攔截器修改請(qǐng)求URL域名?換?IP?訪問的方法

    spring?boot使用攔截器修改請(qǐng)求URL域名?換?IP?訪問的方法

    Spring Interceptor是一個(gè)非常類似于Servlet Filter 的概念 ,這篇文章主要介紹了spring?boot使用攔截器修改請(qǐng)求URL域名?換?IP?訪問的相關(guān)知識(shí),需要的朋友可以參考下
    2022-09-09
  • springboot集成shiro遭遇自定義filter異常的解決

    springboot集成shiro遭遇自定義filter異常的解決

    這篇文章主要介紹了springboot集成shiro遭遇自定義filter異常的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringMvc后臺(tái)接收json數(shù)據(jù)中文亂碼問題詳解

    SpringMvc后臺(tái)接收json數(shù)據(jù)中文亂碼問題詳解

    這篇文章主要介紹了SpringMvc后臺(tái)接收json數(shù)據(jù)中文亂碼問題詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09

最新評(píng)論

柳州市| 太和县| 平遥县| 太原市| 鲁甸县| 海宁市| 隆德县| 白城市| 湖北省| 阳信县| 景泰县| 漳州市| 遂平县| 抚顺县| 酒泉市| 类乌齐县| 华宁县| 四平市| 怀安县| 长子县| 长海县| 甘孜县| 响水县| 确山县| 轮台县| 许昌县| 康定县| 榆社县| 自治县| 南丹县| 萝北县| 钟祥市| 新密市| 余干县| 北碚区| 潞西市| 黎城县| 和静县| 阿拉尔市| 冀州市| 黔西|