簡體   English   中英

在彈簧應用程序中放置文件控制器的位置

[英]Where to place a file controller within a spring application

所以我已經對彈簧應用的不同層進行了研究,到目前為止,我的第一個春季應用程序,我認為我做得很好。 我很困惑在哪里放一個FileController類。 它可能根本不是一個控制器,而是更多的服務,我不確定。 也許這只是一個壞主意,我應該真正使用類似Spring批次的東西。 我只是覺得我不需要那種類型的可擴展性。 我認為我可能做的最復雜的事情是讀取和寫入最多5,000行的excel文件。 我下面的文件控制器將擴展為讀取和寫入文本和.xls文件。 它應該是一個控制器並保留在spring mvc Web應用程序的控制器目錄中,還是應該是服務並位於服務目錄中,還是應該是bean和其他目錄? 文件控制器只能由一個服務對象訪問,該服務對象將由Spring MVC控制器通過post或get請求調用。 我認為我的缺乏經驗真的在這里閃耀。

基本上我應該使用哪個注釋:@ Controller,@ Bean,@ Service?

我讀到@Controller注釋主要僅用於請求映射。 但是,擁有非基於Web的控制器是有意義的。

我應該只使用Spring Batch嗎?

類示例

public class FileController {

     List<String> readFile(String filename) { //some impl }
     String readFile(String filename) { //some impl }    

     void writeFile(List<String> content) { //some impl }
     void writeFile(String content) { //some impl }

     void close() { //some imple }  

}

我還想過只是在使用它的方法中添加讀取和寫入文件,但我認為這是一個糟糕的方法,因為我有可能在將來需要相同的邏輯,DRY。

@Controller注釋用於將方法映射到URI和HTTP mehtod的bean。 這種豆通常位於網絡層的頂部。

由於您的bean不會從Web訪問,因此不能是@Controller 從我的意見來看,這是一項服務。 所以只需將其重命名為FileService並使用@Service注釋它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM