Spring中不用注入如何正確呼叫service方法
spring問題總結
問題描述:
某種業務場景用到Java反射去確定呼叫哪個業務層
與呼叫哪個方法。但是利用傳統的反射機制會
脫離spring容器,dao層並沒有例項化,dao操作完全
執行不了
利用先獲取spring容器,再從spring中獲取bean的例項為正解:
程式碼:
//獲取當前上下文環境,spring容器
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
//獲取類例項
Class<?> cls = wac.getBean(className).getClass();
//獲取執行方法
Method m = cls.getDeclaredMethod(functionName,String.class);
//反射呼叫方法,methodParam:方法引數
amount = (BigDecimal) m.invoke(wac.getBean(className),methodParam);
相關推薦
Spring中不用注入如何正確呼叫service方法
spring問題總結 問題描述: 某種業務場景用到Java反射去確定呼叫哪個業務層 與呼叫哪個方法。但是利用傳統的反射機制會 脫離spring容器,dao層並沒有例項化,dao操作完全 執行不了 利用先獲取spring容器,再從spring中獲取bean的例項為正解: 程式
靜態方法中呼叫service方法,以及獲取request物件
靜態方法中呼叫service方法,以及獲取request物件 //普通service方法,重點:ApplicationContextRegister物件 DictionaryService dictionaryService = ApplicationContextRe
Spring中Servlet注入service時無法@Autowired自動注入的問題解決
今天遇到了一個問題,就是Controller層自動注入service時,一直在報空指標異常,而使用getbean卻好好的,百思不得其解,終於得到了解決的方法。 10-Dec-2018 22:21:21.619 嚴重 [http-nio-8080-exec-5] org.apache.cata
grails專案中的java類中呼叫service方法
最近寫java多執行緒時需要呼叫service,嘗試後唯一下方法可行: 以task.java裡呼叫smsStackService內方法testSingleMt()方法為例 1).在resources.groovy內 beans = { myBean(co
spring mvc 不用注入方式,直接獲取Service介面方式
HorsemanService horsemanService = SpringContextHolder.getInstance().getBean("horsemanService", HorsemanService.class); HorsemanDayEndServ
Spring中註解注入bean和配置檔案注入bean
註解的方式確實比手動寫xml檔案注入要方便快捷很多,省去了很多不必要的時間去寫xml檔案 按以往要注入bean的時候,需要去配置一個xml,當然也可以直接掃描包體,用xml注入bean有以下方法: 1 <?xml version="1.0" encoding="UTF-8"?> 2
在Spring中依賴注入的幾種方式實現鬆耦合
一、普通注入方式: (1)在IDEA工作空間內先建立lib包然後匯入Spring的架包(複製進去的架包要按住滑鼠右鍵出現Add as Library)。 (2)在已經建立好架包的基礎上在src目錄下建立XML檔案,檔案命為applicationContext.xml,需要注意的是我們建
spring中依賴注入方式總結
文章來源於今日頭條使用者:分散式系統架構 一、註解注入 註解注入在Spring中是用的最多的一種方式,就是在java程式碼中使用註解的方式進行裝配,在程式碼中加入@Resource或者@Autowired、 1、Autowired是自動注入,自動從spring的上下文找到合適的bean來
Spring中屬性注入的幾種方式以及複雜屬性的注入
在Spring框架中,屬性的注入我們有多種方式,我們可以通過構造方法注入,可以通過set方法注入,也可以通過p名稱空間注入,方式多種多樣,對於複雜的資料型別比如物件、陣列、List集合、map集合、Properties等,我們也都有相應的注入方式。 OK,接下來我們就來看看
spring xml方式注入沒有提供set方法
org.springframework.beans.NotWritablePropertyException: Invalid property 'xxx' Bean property 'xxx' is not writable or has an invalid setter meth
Spring基礎(2)——Spring中裝入bean的幾種方法
上一篇文章描述了spring裝配bean的自動化裝配技術 下面主要描述一下spring裝配bean的顯示配置,其中顯示配置有兩種方案,Java配置和XML。 為啥需要有顯示配置的?其實主要是考慮到第三方外掛,我們無法通過標註@Component和@Autowir
“過載”和“重寫”在Java虛擬機器中如何確定正確的目標方法
文章摘自:深入理解Java虛擬機器 第二版 周志明著 靜態分派 請看如下程式碼: package com.gary.test.overload_overwrite; /** * 方法靜態分派演示 * @author gary * */ public cl
Spring中獲取bean的兩種方法
第一種採用註解方法 註解的方法比較簡單,不在進行詳細介紹,這邊主要將的是另外一種方法,當通過註解獲取不到bean時,可以採用根據上下文獲取。 第二種上下文獲取bean @Component public class SpringBeanUtil implements Appli
spring中的多執行緒aop方法攔截
日常開發中,常用spring的aop機制來攔截方法,記點日誌、執行結果、方法執行時間啥的,很是方便,比如下面這樣:(以spring-boot專案為例) 一、先定義一個Aspect import org.aspectj.lang.ProceedingJoinPoint; import org.aspe
關於Java Web 使用Spring中使用Quartz(定時呼叫、實現固定時間執行), 觸發定時器(執行某些任務)的例項
第一步:pom.xml中Maven下載需要的jar架包。 <!--```````````定時器```````````--> <dependency> <grou
在spring 中如何注入map,set,list,property等引數
package cn.dao; publicinterface PersonDao { publicabstractvoid add(); } cn.dao.imp package cn.d
關於spring中依賴注入(AOP)的理解
Spring中的依賴注入可以分為介面注入、構造器注入、set方法注入 介面注入的話都是實現一個介面然後實現對應的方法。(比較常用) 如果使用構造器注入可以在建立物件的同時完成依賴關係的建立。如果使用set方法注入的話更容易識別它的名稱。但是如果使用構造器注入的方式
Spring中bean注入初始化方式—通過註解@Configuration @bean
雖然 2.0 版本釋出以來,Spring 陸續提供了十多個註解,但是提供的這些註解只是為了在某些情況下簡化 XML 的配置,並非要取代 XML 配置方式。這一點可以從 Spring IoC 容器的初始化類可以看出:ApplicationContext 介面的最常用的實現類是
java中字串擷取,呼叫substring()方法
substring() 方法返回字串的子字串。在java中 substring()方法有兩種用法, 第一種 publicString substring(int beginIndex) 第二種 p
spring 中四種註解@controller,@service,@repository,@component的區別
@controller用來定義控制層的元件 @service用來定義業務層的元件 @repository用來定義持久層的元件 @ component用來定義不在上述範圍內的一般性元件 上面元件的名稱