1. 程式人生 > >spring注入的方式實現靜態方法中使用非靜態變數

spring注入的方式實現靜態方法中使用非靜態變數

實現靜態方法中使用非靜態變數

程式碼示例:

public class TestClass{


  private SystemConfig config;


  private static TestClass test;


  public TestClass(){
      test = this;
      test.config = this.config;
  }


  public static void methodNam(){
     Object obj = test.config.getMethodName();
  } 
  
  public SystemConfig getConfig(){


    return config;
  }


  pulbic void setConfig(SystemConfig config){
   this.config = config;
 }
}<span style="font-family: Arial, Helvetica, sans-serif;"></span>
bean配置

<bean name = "config" class="com.xuchao.ods.SystemConfig" />

<bean class="com.xuchao.ods.TestClass">

  <property name="config" ref = "config" />

</bean>

相關推薦

一個介面多個實現類的Spring注入方式(註解方式)

轉載: https://blog.csdn.net/niceLiuSir/article/details/80499821 1. 首先, Interface1 介面有兩個實現類 Interface1Impl1 和 Interface1Impl2 Interface1 介面: p

java中非靜態內部類不能有靜態程式碼塊、靜態方法靜態變數

非靜態內部類相當於外部類中的非靜態成員變數,而如果外部類需要呼叫非靜態成員變數就需要先例項化才可以,如果非靜態內部類中有靜態方法塊,那麼又可以在載入類的時候提前載入,不需要考慮外部類的例項化,所以有矛盾,所以不可以。為什麼非靜態內部類中可以有靜態常量?(static fina

一個介面多個實現類的Spring注入方式

1. 首先, Interface1 介面有兩個實現類 Interface1Impl1 和 Interface1Impl2 Interface1 介面: package com.example.s

JDBC配置檔案的讀取方式-非靜態方法靜態方法

非靜態方法讀取 public void getConnection2() throws IOException{InputStream is = getClass().getClassLoader().getResourceAsStream("jdbc.properties

main 靜態方法靜態方法

pre 實例 全部 clas 不能訪問 靜態變量 靜態方法 存在 main 靜態方法不可以調非靜態全局變量,從內存的角度看,就是當類被加載的時候靜態方法和靜態屬性(全局靜態變量)被加載到內存中,就是在內存中開辟一段內存地址用來保存靜態方法和靜態屬性,這時候沒有被實例化的類在

Vue2.x源碼學習筆記-Vue靜態方法靜態屬性整理

temp next 技術 spa delet 結構 又是 靜態 https Vue靜態方法和靜態屬性,其實直接在瀏覽器中可以查看到的,如下 圈起來的是其靜態屬性,但是有的屬性對象中的屬性的值又是函數。未圈起來的則是函數。 其實它來自如下各個目錄下的js文件 // src

jdk1.8新特性 : 接口中可以有普通方法(非靜態方法)和靜態方法 , 顛覆了之前我的理解 : 接口中只能有共有常量和抽象方法的概念,後面必須要加一句jdk1.7和1..7之前

@override 編譯 sys 接口 blank new style nts highlight 看到jdk某些接口中存在default方法,於是... http://shaomeng95.iteye.com/blog/998820 為什麽接口只能是公有常量? p

php中靜態方法靜態屬性的介紹

靜態屬性 size col 實例 生效 訪問類 都是 靜態 self 靜態分為兩個部分:靜態屬性和靜態方法 靜態的東西都是給類用的(包括類常量),非靜態的都是給對象用的 靜態屬性 在定義屬性的時候,使用關鍵字static修飾的屬性稱之為靜態屬性。 靜態方法 使用sta

java中靜態變數靜態程式碼塊,靜態方法,例項變數,匿名程式碼塊的載入順序

1. java中靜態變數,靜態程式碼塊,靜態方法,例項變數,匿名程式碼塊 在Java中,使用{}括起來的程式碼稱為程式碼塊,程式碼塊可以分為以下四種: (1)普通程式碼塊:就是類中方法的方法體 public void xxx(){ //code }

靜態類中,靜態方法靜態變數的執行順序按出現執行

package com.study; public class StaticCode { static { i = 33;// i's value is from 0 to 33 g(); } static int i = 1;

JAVA基礎(50)---靜態方法靜態程式碼塊

靜態方法                       用static修飾的方法。靜

【PHP】靜態方法呼叫非靜態方法靜態呼叫非靜態方法程式碼解讀

static 關鍵字用來修飾屬性、方法,稱這些屬性、方法為靜態屬性、靜態方法。 在類的靜態方法中是不能直接以$this->test()的方式呼叫非靜態方法的。還有框架中靜態的呼叫非靜態方法是怎麼回事??? 。。。 算了,不知道說啥 具體為啥看程式碼註釋: <?ph

Android-NDK學習記錄4-C呼叫Java靜態方法修改靜態欄位

一. jni互動相關-方法簽名 方法簽名在jni的使用中經常都會用到,在java中會有過載,那麼定位到一個方法的方式:類+方法名稱+方法簽名,那麼我們先學習下簽名規則: 基本型別簽名: 咱們基本型別有各自的簽名,如下表 型別名

靜態方法靜態變數(總結)

1.static方法是類中的一個成員方法,屬於整個類,即使不用建立任何物件也可以直接呼叫! static內部只能出現static變數和其他static方法!而且static方法中還不能使用this....等關鍵字..因為它是屬於整個類! 2.靜態方法效率上要比例項化高,靜態方法的缺點是不自動

ES6 - 類的靜態方法靜態屬性

一、靜態方法 類的所有方法都定義在類的prototype屬性上面,所有類中定義的方法都會被例項繼承,如果在類方法前面加上static關鍵字就不會被例項繼承了。 靜態方法是直接通過類名來呼叫。 class Person{ constructor(name="xf",age){ t

spring注入方式之singleton注入prototype

singleton注入prototype lookup方法注入 使用場景:一個singleton的bean使用一個prototype的bean時。 public interface Bean2{//jiekou Bean1 getBean1();//

spring 注入的三種方法

  自己總結下  比較淺的 理解 適合 初學者:   1.構造方法 注入          直接上程式碼   <!-- 構造方法注入 --> <bean id="testservice" class="com.javen.service.im

Java基礎篇——靜態程式碼塊、靜態方法靜態變數、構造方法、構造程式碼段相關

基本定義 靜態程式碼段 在Java類的設計中,如果某段程式碼想讓其只執行一次,比如一個HashMap的生成,一個數據庫連線池的產生,就可以把相關程式碼寫入static{}包裹的程式碼段中。這個程式碼段就叫靜態程式碼段,在專案啟動時就主動執行,即由虛擬機器內部完成呼叫,且只執

C# 多執行緒呼叫靜態方法或者靜態例項中的同一個方法-方法內部的變數是執行緒安全的

 C#  多執行緒呼叫靜態方法或者靜態例項中的同一個方法-方法內部的變數是執行緒安全的       using System;using System.Threading;using System.Threading.Tasks;using Sys

java中靜態變數靜態方法靜態程式碼塊,構造程式碼塊,構造方法...執行順序

public class TestExeOrder { public TestExeOrder(){ System.out.println("類的構造方法執行了..."); } { System.out.println("構造程式碼塊執行了