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

Spring實(shí)戰(zhàn)之協(xié)調(diào)作用域不同步的Bean操作示例

 更新時(shí)間:2019年11月29日 08:46:22   作者:cakincqm  
這篇文章主要介紹了Spring實(shí)戰(zhàn)之協(xié)調(diào)作用域不同步的Bean操作,結(jié)合實(shí)例形式分析了Spring協(xié)調(diào)作用域不同步的Bean相關(guān)配置及使用技巧,需要的朋友可以參考下

本文實(shí)例講述了Spring實(shí)戰(zhàn)之協(xié)調(diào)作用域不同步的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 id="chinese" class="org.crazyit.app.service.impl.Chinese">
      <!-- Spring只要檢測(cè)到lookup-method元素,
      Spring會(huì)自動(dòng)為該元素的name屬性所指定的方法提供實(shí)現(xiàn)體。-->
      <lookup-method name="getDog" bean="gunDog"/>
   </bean>
   <!-- 指定gunDog Bean的作用域?yàn)閜rototype,
   希望程序每次使用該Bean時(shí)用到的總是不同的實(shí)例 -->
   <bean id="gunDog" class="org.crazyit.app.service.impl.GunDog"
      scope="prototype">
      <property name="name" value="旺財(cái)"/>
   </bean>
</beans>

二 接口

1 Dog

package org.crazyit.app.service;
public interface Dog
{
   public String run();
}

2 Person

package org.crazyit.app.service;
public interface Person
{
   public void hunt();
}

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

GunDog

package org.crazyit.app.service.impl;
import org.crazyit.app.service.*;
public class GunDog implements Dog
{
   private String name;
   public void setName(String name)
   {
      this.name = name;
   }
   public String getName()
   {
      return name;
   }
   public String run()
   {
      return "我是一只叫" + getName()
        + "的獵犬,奔跑迅速..." ;
   }
}

Chinese

package org.crazyit.app.service.impl;
import org.crazyit.app.service.*;
public abstract class Chinese implements Person
{
   private Dog dog;
   // 定義抽象方法,該方法用于獲取被依賴Bean
   public abstract Dog getDog();
   public void hunt()
   {
      System.out.println("我?guī)е? + getDog() + "出去打獵");
      System.out.println(getDog().run());
   }
}

四 測(cè)試類

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)
  {
    // 以類加載路徑下的beans.xml作為配置文件,創(chuàng)建Spring容器
    ApplicationContext ctx = new
      ClassPathXmlApplicationContext("beans.xml");
    Person p1 = ctx.getBean("chinese" , Person.class);
    Person p2 = ctx.getBean("chinese" , Person.class);
    // 由于chinese Bean是singleton行為,
    // 因此程序兩次獲取的chinese Bean是同一個(gè)實(shí)例。
    System.out.println(p1 == p2);
    p1.hunt();
    p2.hunt();
  }
}

五 測(cè)試結(jié)果

true
我?guī)е簅rg.crazyit.app.service.impl.GunDog@69a3d1d出去打獵
我是一只叫旺財(cái)?shù)墨C犬,奔跑迅速...
我?guī)е簅rg.crazyit.app.service.impl.GunDog@86be70a出去打獵
我是一只叫旺財(cái)?shù)墨C犬,奔跑迅速...

更多關(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 Boot利用@Async異步調(diào)用:ThreadPoolTaskScheduler線程池的優(yōu)雅關(guān)閉詳解

    Spring Boot利用@Async異步調(diào)用:ThreadPoolTaskScheduler線程池的優(yōu)雅關(guān)閉詳解

    這篇文章主要給大家介紹了關(guān)于Spring Boot利用@Async異步調(diào)用:ThreadPoolTaskScheduler線程池的優(yōu)雅關(guān)閉的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • Java獲取路徑的6種方式代碼示例

    Java獲取路徑的6種方式代碼示例

    在Java中獲取路徑的方法有多種,每種方法適用于不同的場(chǎng)景,這篇文章主要介紹了Java獲取路徑的6種方式,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-02-02
  • java分布式事務(wù)之可靠消息最終一致性解決方案

    java分布式事務(wù)之可靠消息最終一致性解決方案

    這篇文章主要為大家介紹了java分布式事務(wù)之可靠消息最終一致性解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • idea根據(jù)實(shí)體類生成數(shù)據(jù)庫(kù)表的流程步驟

    idea根據(jù)實(shí)體類生成數(shù)據(jù)庫(kù)表的流程步驟

    在開發(fā)的時(shí)候,經(jīng)常會(huì)遇到數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)無(wú)法滿足業(yè)務(wù)的需求,需要去改動(dòng)數(shù)據(jù)庫(kù)表,我們就需要去設(shè)計(jì)數(shù)據(jù)庫(kù)的字段,然后又回來(lái)增加實(shí)體類里的字段,這樣很麻煩,所以本文給大家介紹了idea根據(jù)實(shí)體類生成數(shù)據(jù)庫(kù)表的流程步驟,需要的朋友可以參考下
    2024-12-12
  • java反射應(yīng)用詳細(xì)介紹

    java反射應(yīng)用詳細(xì)介紹

    本篇文章依舊采用小例子來(lái)說(shuō)明java反射應(yīng)用,因?yàn)槲沂冀K覺的,案例驅(qū)動(dòng)是最好的,需要的朋友可以參考下
    2012-11-11
  • SpringMVC日期類型參數(shù)傳遞實(shí)現(xiàn)步驟講解

    SpringMVC日期類型參數(shù)傳遞實(shí)現(xiàn)步驟講解

    這篇文章主要介紹了SpringMVC日期類型參數(shù)傳遞實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-02-02
  • 解決ThreadLocal獲取不到值大坑

    解決ThreadLocal獲取不到值大坑

    這篇文章主要介紹了解決ThreadLocal獲取不到值大坑
    2023-05-05
  • hibernate5.2的基本配置方法(詳解)

    hibernate5.2的基本配置方法(詳解)

    下面小編就為大家?guī)?lái)一篇hibernate5.2的基本配置方法(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • Java中List根據(jù)map的某個(gè)key去重的代碼

    Java中List根據(jù)map的某個(gè)key去重的代碼

    今天小編就為大家分享一篇關(guān)于Java中List根據(jù)map的某個(gè)key去重的代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Java從單體架構(gòu)升級(jí)到微服務(wù)要注意的一些問(wèn)題

    Java從單體架構(gòu)升級(jí)到微服務(wù)要注意的一些問(wèn)題

    這篇文章主要介紹了Java從單體架構(gòu)升級(jí)到微服務(wù)要注意的一些問(wèn)題,對(duì)架構(gòu)感興趣的同學(xué),可以參考下
    2021-04-04

最新評(píng)論

宣恩县| 高安市| 江都市| 遂溪县| 潢川县| 昌宁县| 舒城县| 宝清县| 八宿县| 东平县| 额济纳旗| 开阳县| 绥芬河市| 宁乡县| 汶川县| 天津市| 桐城市| 绵阳市| 景泰县| 临邑县| 临潭县| 鸡西市| 诏安县| 武义县| 万全县| 南木林县| 辽宁省| 曲阳县| 安多县| 黔西| 佛教| 乌鲁木齐市| 澜沧| 株洲市| 唐海县| 东丽区| 贵州省| 霍州市| 兴山县| 八宿县| 天津市|