之前使用公司的框架,業務使用到的一般就是action→serviceimpl→business模式,其中業務邏輯主要寫在businsess中,這個裡面有一段和常用但是一直不知道原理是什麼,就是下面這段;
user user = this.getdao().getbean(userdao.class).selectuserbyuserid(20201031001l);
幾乎每天都在用但一直沒有仔細去理解為什麼這麼做。今天在寫自己的小專案遇到乙個問題,剛好就和這個有關,然後就去看了一下。
我自己寫的小專案的後端框架採用的是springmvc,在設計的時候剛開始是前台請求controller,controller請求service,在service的實現類裡面也後台與資料庫互動的邏輯,但是發現這樣寫所有的後端邏輯都集中到了serivceimpl類中,所以就想著像公司框架那樣在做個業務層專門用來寫業務邏輯。
結構如下:
serviece實現類**如下:
business**如下:
2.1 建立業務抽象類abstractbusiness
public
abstract
class
abstractbusiness()
public
final
(class
t)}
@component
public
class
beanhelper
implements
public
t getbean
(class
t)public object getspringbean
(string s)
}
2.3 修改business類public
class
loginbusiness
extends
abstractbusiness
user user =
this.(
).getbean
class).
selectuserbyuserid
(20201031001l)
;return user;
}}
2.4 修改serviceimpl類@service
public
class
loginserviceimpl
implements
loginservice
}
java通過反射呼叫方法
業務中有個場景是這樣的,根據傳入不同的值生成不同的訊息體。這個時候如果用switch或ifelse的話那每一層 都很多,而且不利於維護。於是想到乙個方法,根據傳入的引數呼叫不同的方法 引數即方法 這樣便於維護也利於 的健壯性。如下 示例 先獲取方法,type方法名,this.getclass 引數型...
unity通過反射呼叫方法
using system.reflection using system 1.load 命名空間名稱 gettype 命名空間.類名 type type classname.gettype 需要呼叫的方法名稱 methodinfo method type.getmethod methodfunc 3...
C 通過反射呼叫方法
用反射呼叫方法 常用於軟體架構中 假如你定義好了基類和介面,其他人使用基類派生出新的方法,你在不知道有多少類會使用此基類派生,但是你需要呼叫所有的派生類的方法時,就可以這樣,直接遍歷相同命名空間中的由基類派生的所有類,然後例項化所有類,呼叫所有方法 using system using system...