![](/img/trans.png)
[英]Where do I place the applicationContext.xml file within Spring project directory
[英]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.